СПОСОБ И СИСТЕМА ДЛЯ ОПРЕДЕЛЕНИЯ СОСТОЯНИЯ СВЕТОФОРА
METHOD AND SYSTEM FOR DETERMINING THE STATE OF A TRAFFIC LIGHT

Область техники, к которой относится изобретение
[001] Настоящая технология относится к анализу видео светофора в общем, а более конкретно к способу и системе для определения прогнозированного состояния светофора.
Уровень техники
[002] Светофоры проектируются с возможностью предоставлять инструкции водителям-людям. Хотя сигналы светофора легко понимаются людьми, может быть затруднительным точно интерпретировать эти сигналы с использованием программного обеспечения. Точно идентификация состояния светофора может быть особенно важной в различных вариантах применения, таких как технологии помощи водителю и беспилотные автомобили. Если состояние светофора некорректно определяется или не может определяться, эти технологии могут не функционировать надлежащим образом.
[003] Видео или изображения светофоров могут захватываться посредством камер на автомобиле или другом транспортном средстве. Видео могут искажаться вследствие погодных условий или других факторов окружающей среды, перемещения автомобиля, расстояния автомобиля от светофора и т.д. Светофоры и, в частности, светофоры с использованием светоизлучающих диодов (светодиодов) могут мерцать таким способом, который является невидимым для человеческого глаза, но захватывается в камере. Светофоры могут отображать символы, такие как стрелка, которые могут не быть различимыми в изображениях, захваченных посредством камеры. Например, из расстояния и/или при определенных условиях, цвет зеленой стрелки может захватываться в изображении, но форма стрелки может не быть различимой в изображении. Эти и различные другие факторы могут представлять трудности при определении состояния светофора.
[004] DE 102012108863 A1, принадлежащая Continental Teves AG and CO OHG и Conti Temic Microelectronic и поданная 20 сентября 2012 года, описывает запись последовательности изображений окрестности транспортного средства с помощью камеры и распознавание вероятного присутствия светофора из записанных данных изображений. Текущее состояние движения классифицируется. Проверка достоверности классификации текущего состояния движения выполняется с учетом состояния светофора, которое классифицируется из предыдущего изображения в последовательности изображений. Независимый пункт формулы изобретения включается для устройства для распознавания состояния светофора.
[005] US 2017/0024622 A1, принадлежащая Honda Motor Co., Ltd. и поданная 24 июля 2015 года, описывает устройство распознавания окрестностей, которое включает в себя блок захвата изображений, который захватывает периферийное изображение, и блок распознавания светофоров, который распознает светофор из периферийного изображения. Блок захвата изображений захватывает множество изображений кадров. Блок распознавания светофоров распознает светофор на основе комбинации множества изображений кадров.
Сущность изобретения
[006] Разработчики настоящей технологии приняли во внимание по меньшей мере одну техническую проблему, ассоциированную с подходами предшествующего уровня техники.
[007] Настоящая технология относится к обнаружению состояния светофора в общем, а более конкретно, к способам и системам для определения прогнозированного состояния светофора. Как упомянуто выше, определение состояния светофора может быть затруднительным, в частности, в неблагоприятных погодных условиях. Различные технологии разработаны для определения прогнозированного состояния светофора.
[008] Одна или более камер могут использоваться для того, чтобы захватывать видео и/или изображения одного или более светофоров. Последовательность неподвижных изображений может захватываться из видео с предварительно определенным интервалом. Каждое из неподвижных изображений может вводиться в алгоритм машинного обучения (MLA). MLA может выводить прогнозированное состояние каждой лампы светофора в каждом из неподвижных изображений. Прогнозированное состояние может указывать вероятность того, что лампа горит, и вероятность для каждого доступного цвета лампы, такого как красный свет, зеленый свет, желтый свет и т.д. Прогнозированное состояние может иметь формат вектора.
[009] До формирования прогнозирования, MLA может обучаться с использованием обучающих данных, содержащих помеченные точки данных. Каждая из точек данных может включать в себя неподвижное изображение светофора и соответствующую метку, причем метка указывает фактическое состояние каждой лампы светофора. Метки могут вводиться человеком, просматривающим изображение.
[0010] Векторы прогнозированных состояний могут вводиться во второй MLA, который прогнозирует состояние светофора. Второй MLA может обучаться с использованием набора векторов, выводимых посредством первого MLA с соответствующими метками, причем метки указывают фактическое состояние светофора, такое как "зеленый свет", "желтый свет", "красный свет", "стрелка", "мигание" и т.д. После обучения, второй MLA может принимать векторы, выводимые посредством первого MLA, в качестве ввода. Второй MLA может обрабатывать векторы и выводить прогнозирование состояния светофора. Выходное прогнозирование может иметь формат вектора, указывающего прогнозированную вероятность каждого возможного состояния светофора.
[0011] Согласно первому широкому аспекту настоящей технологии, предусмотрен способ для определения прогнозированного состояния светофора. Способ осуществляется на сервере и содержит: прием, посредством сервера, видео светофора; формирование, на основе упомянутого видео, множества неподвижных изображений светофора; определение, для каждого неподвижного изображения из множества неподвижных изображений и посредством первого алгоритма машинного обучения (MLA), вектора для каждой лампы в соответствующем неподвижном изображении, за счет этого формируя множество векторов, соответствующих упомянутому видео, причем каждый вектор указывает прогнозированную вероятность каждого из множества состояний соответствующей лампы, причем первый MLA обучается на основе множества помеченных неподвижных изображений светофоров, и причем каждое помеченное неподвижное изображение из множества помеченных неподвижных изображений указывает состояние каждой лампы соответствующего помеченного неподвижного изображения; определение, на основе множества векторов и посредством второго MLA, прогнозированного состояния светофора, причем второй MLA обучается на основе множества помеченных векторов, при этом каждый помеченный вектор указывает прогнозированную вероятность каждого из множества состояний для данной лампы данного светофора, и при этом каждый помеченный вектор ассоциирован с меткой, указывающей фактическое состояние данного светофора; и сохранение индикатора прогнозированного состояния светофора.
[0012] В некоторых реализациях способа, множество состояний содержат предварительно заданный набор состояний.
[0013] В некоторых реализациях способа, первое состояние из множества состояний соответствует первому цвету, и второе состояние из множества состояний соответствует второму цвету.
[0014] В некоторых реализациях способа, третье состояние из множества состояний указывает то, горит или нет лампа.
[0015] В некоторых реализациях способа, прогнозированное состояние светофора указывает прогнозированный цвет, отображаемый посредством светофора.
[0016] В некоторых реализациях способа, прогнозированное состояние светофора указывает прогнозированный символ, отображаемый посредством светофора.
[0017] В некоторых реализациях способа, прогнозированное состояние светофора указывает прогнозированный шаблон, отображаемый посредством светофора.
[0018] В некоторых реализациях способа, множество помеченных векторов сформированы с использованием первого MLA.
[0019] В некоторых реализациях способа, способ дополнительно содержит сохранение множества векторов в матрице и ввод матрицы во второй MLA.
[0020] В некоторых реализациях способа, способ дополнительно содержит определение, на основе сохраненных данных местоположения светофоров, координат светофора в видео.
[0021] В некоторых реализациях способа, первый MLA прогнозирует цвет, отображаемый посредством каждой лампы во входном неподвижном изображении.
[0022] В соответствии с еще одним другим широким аспектом настоящей технологии, предусмотрен способ для определения прогнозированного состояния светофора. Способ осуществляется на сервере и содержит: прием, посредством сервера, видео множества светофоров, при этом множество светофоров содержат светофор; формирование, на основе упомянутого видео, множества неподвижных изображений множества светофоров; определение, для каждого неподвижного изображения из множества неподвижных изображений и посредством первого алгоритма машинного обучения (MLA), вектора для каждой лампы в соответствующем неподвижном изображении, за счет этого формируя множество векторов, соответствующих упомянутому видео, причем каждый вектор указывает прогнозированную вероятность каждого из множества состояний соответствующей лампы, причем первый MLA обучается на основе множества помеченных неподвижных изображений светофоров, и причем каждое помеченное неподвижное изображение из множества помеченных неподвижных изображений указывает состояние каждой лампы соответствующего помеченного неподвижного изображения; определение, на основе множества векторов и посредством второго MLA, прогнозированного состояния каждого из множества светофоров, причем второй MLA обучается на основе множества помеченных векторов, при этом каждый помеченный вектор указывает прогнозированную вероятность каждого из множества состояний для данной лампы данного светофора, и при этом каждый помеченный вектор ассоциирован с меткой, указывающей фактическое состояние данного светофора; определение, на основе прогнозированного состояния каждого из множества светофоров, прогнозированного состояния светофора; и сохранение индикатора прогнозированного состояния светофора.
[0023] В некоторых реализациях способа, определение прогнозированного состояния светофора содержит сравнение прогнозированного состояния каждого из множества светофоров.
[0024] В некоторых реализациях способа, второй MLA выводит индикатор доверия для каждого прогнозированного состояния, и при этом определение прогнозированного состояния светофора дополнительно содержит сравнение индикаторов доверия для каждого из прогнозированных состояний каждого из множества светофоров.
[0025] В некоторых реализациях способа, множество помеченных векторов сформированы с использованием первого MLA.
[0026] В некоторых реализациях способа, формирование множества неподвижных изображений содержит захват, с предварительно заданным интервалом, кадров видео.
[0027] В некоторых реализациях способа, способ дополнительно содержит сохранение множества векторов в матрице и ввод матрицы во второй MLA.
[0028] В некоторых реализациях способа, способ дополнительно содержит определение, на основе сохраненных данных местоположения светофоров, координат каждого из светофоров в видео.
[0029] В соответствии с еще одним другим широким аспектом настоящей технологии, предусмотрена система для определения прогнозированного состояния светофора. Система содержит процессор и невременный компьютерно-читаемый носитель, содержащий инструкции. Процессор, при выполнении инструкций, выполнен с возможностью: принимать видео светофора; формировать, на основе упомянутого видео, множество неподвижных изображений светофора; определять, для каждого неподвижного изображения из множества неподвижных изображений и посредством первого алгоритма машинного обучения (MLA), вектор для каждой лампы в соответствующем неподвижном изображении, за счет этого формируя множество векторов, соответствующих упомянутому видео, при этом каждый вектор указывает прогнозированную вероятность каждого из множества состояний соответствующей лампы, при этом первый MLA обучается на основе множества помеченных неподвижных изображений светофоров, и при этом каждое помеченное неподвижное изображение из множества помеченных неподвижных изображений указывает состояние каждой лампы соответствующего помеченного неподвижного изображения; определять, на основе множества векторов и посредством второго MLA, прогнозированное состояние светофора, при этом второй MLA обучается на основе множества помеченных векторов, при этом каждый помеченный вектор указывает прогнозированную вероятность каждого из множества состояний для лампы светофора, и при этом каждый помеченный вектор ассоциирован с меткой, указывающей состояние светофора; и сохранять индикатор прогнозированного состояния светофора.
[0030] В некоторой реализации системы, процессор, при выполнении инструкций, дополнительно выполнен с возможностью сохранять множество векторов в матрице и вводить матрицу во второй MLA.
[0031] В контексте настоящего описания изобретения, "сервер" представляет собой систему и/или компьютерную программу, которая выполняется на соответствующих аппаратных средствах и допускает прием запросов (например, из электронных устройств) по сети и выполнение этих запросов либо инструктирование выполнения этих запросов. Аппаратные средства могут представлять собой один физический компьютер или одна физическая компьютерная система, но ни одно из означенного не должно обязательно иметь место относительно настоящей технологии. В настоящем контексте, использование выражения "сервер" не имеет намерение означать то, что каждая задача (например, принимаемые инструкции или запросы) или любая конкретная задача должна приниматься, выполняться или инструктироваться для выполнения посредством идентичного сервера (т.е. идентичного программного обеспечения и/или аппаратных средств); оно имеет намерение означать то, что любое число программных элементов или аппаратных устройств может быть предусмотрено при приеме/отправке, выполнении или инструктировании для выполнения любой задачи или запроса либо результатов любой задачи или запроса; и все это программное обеспечение и аппаратные средства могут представлять собой один сервер либо несколько серверов, причем все из означенного включается в выражение "по меньшей мере один сервер".
[0032] В контексте настоящего описания изобретения, "электронное устройство" представляет собой любые компьютерные аппаратные средства, которые допускают выполнение программного обеспечения, соответствующего рассматриваемой релевантной задаче. Таким образом, некоторые (неограничивающие) примеры электронных устройств включают в себя персональные компьютеры (настольные компьютеры, переносные компьютеры, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что устройство, выступающее в качестве электронного устройства в настоящем контексте, не исключается из выступания в качестве сервера для других электронных устройств. Использование выражения "электронное устройство" не исключает использование нескольких электронных устройств при приеме/отправке, выполнении или инструктировании для выполнения любой задачи или запроса либо результатов любой задачи или запроса, или этапов любого способа, описанного в данном документе.
[0033] В контексте настоящего описания изобретения, "база данных" представляет собой любую структурированную совокупность данных, независимо от ее конкретной структуры, программного обеспечения управления базами данных или компьютерных аппаратных средств, на которых данные сохраняются, реализуются или становятся доступными иными способами для использования. База данных может постоянно размещаться в идентичных аппаратных средствах с процессом, который сохраняет или использует информацию, сохраненную в базе данных, либо она может постоянно размещаться в отдельных аппаратных средствах, таких как выделенный сервер или множество серверов.
[0034] В контексте настоящего описания изобретения, выражение "информация" включает в себя информацию вообще любого характера или вида, допускающую сохранение в базе данных. Таким образом, информация включает в себя, но не только, аудиовизуальные произведения (изображения, фильмы, звукозаписи, презентации и т.д.), данные (данные местоположения, числовые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д.
[0035] В контексте настоящего описания изобретения, выражение "компьютерно-применимый носитель хранения информации" имеет намерение включать в себя носители вообще любого характера и вида, в том числе RAM, ROM, диски (CD-ROM, DVD, гибкие диски, жесткие диски и т.д.), флэш-накопители, полупроводниковые накопители, накопители на ленте и т.д.
[0036] В контексте настоящего описания изобретения, если явно не указано иное, "индикатор" информационного элемента может представлять собой непосредственно информационный элемент, либо указатель, ссылку, гиперссылку или другой косвенный механизм, позволяющий получателю индикатора находить местоположение в сети, в запоминающем устройстве, в базе данных или в другом компьютерно-читаемом носителе, из которого может извлекаться информационный элемент. Например, индикатор документа может включать в себя непосредственно документ (т.е. его контент), либо он может представлять собой уникальный дескриптор документа, идентифицирующий файл относительно конкретной файловой системы или некоторое другое средство направления получателя индикатора в сетевое местоположение, адрес ячейки запоминающего устройства, таблицу базы данных или другое местоположение, в котором к файлу может осуществляться доступ. Специалисты в данной области техники должны признать, что степень точности, требуемая в таком индикаторе, зависит от степени предшествующего понимания касательно интерпретации, которая должна предоставляться для информации, передаваемой в  между отправителем и получателем индикатора. Например, если до связи между отправителем и получателем появляется понимание того, что индикатор информационного элемента должен принимать форму ключа базы данных для ввода в конкретную таблицу предварительно определенной базы данных, содержащей информационный элемент, то отправка ключа базы данных представляет собой все, что требуется для того, чтобы эффективно передавать информационный элемент получателю, даже если непосредственно информационный элемент не передается между отправителем и получателем индикатора.
[0037] В контексте настоящего описания изобретения, слова "первый", "второй", "третий" и т.д. использованы в качестве прилагательных только для целей обеспечения различения существительных, которые они модифицируют, друг от друга, а не для целей описания конкретных взаимосвязей между этими существительными. Таким образом, например, следует понимать, что использование терминов "первый сервер" и "третий сервер" не имеет намерение подразумевать конкретный порядок, тип, хронологию, иерархию или ранжирование (например) относительно серверов, и их использование не имеет намерение (непосредственно) подразумевать то, что "второй сервер" должен обязательно существовать в любой данной ситуации. Дополнительно, как пояснено в данном документе в других контекстах, ссылка на "первый" элемент и "второй" элемент не исключает того, что два элемента представляют собой идентичный фактический элемент реального мира. Таким образом, например, в некоторых случаях, "первый" сервер и "второй" сервер могут представлять собой идентичное программное обеспечение и/или аппаратные средства и/или совместно использовать программное обеспечение и/или аппаратные средства. В других случаях, они могут представлять собой различное программное обеспечение и/или аппаратные средства.
[0038] Реализации настоящей технологии имеют по меньшей мере одну из вышеуказанных целей и/или аспектов, но не обязательно имеют все из них. Следует понимать, что некоторые аспекты настоящей технологии, которые получены в результате попытки достигать вышеуказанной цели, могут не удовлетворять этой цели и/или могут удовлетворять другим целям, не изложенным конкретно в данном документе.
[0039] Дополнительные и/или альтернативные признаки, аспекты и преимущества реализаций настоящей технологии должны становиться очевидными из нижеприведенного описания, прилагаемых чертежей и прилагаемой формулы изобретения.
Краткое описание чертежей
[0040] Для лучшего понимания настоящей технологии, а также других ее аспектов и дополнительных признаков, следует обратиться к нижеприведенному описанию, которое должно использоваться вместе с прилагаемыми чертежами, на которых:
[0041] Фиг. 1 является иллюстрацией компонентов и признаков вычислительного устройства в соответствии с вариантами осуществления настоящей технологии.
[0042] Фиг. 2 иллюстрирует схему системы, реализованной в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[0043] Фиг. 3 иллюстрирует изображения светофоров в соответствии с вариантами осуществления настоящей технологии.
[0044] Фиг. 4 иллюстрирует помеченное представление неподвижного изображения светофора в соответствии с вариантами осуществления настоящей технологии.
[0045] Фиг. 5 иллюстрирует прогнозированные состояния неподвижного изображения светофора в соответствии с вариантами осуществления настоящей технологии.
[0046] Фиг. 6 иллюстрирует помеченное представление видео светофора в соответствии с вариантами осуществления настоящей технологии.
[0047] Фиг. 7 и 8 иллюстрируют блок-схему последовательности операций способа для определения прогнозированного состояния светофора, причем способ осуществляется в системе по фиг. 2, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии.
Подробное описание изобретения
[0048] Примеры и условный язык, изложенный в данном документе, преимущественно имеют намерение помогать читателю в понимании принципов настоящей технологии, а не ограничивать ее объем такими конкретно изложенными примерами и условиями. Следует принимать во внимание, что специалисты в данной области техники могут разрабатывать различные компоновки, которые, хотя и не описаны или показаны явно в данном документе, тем не менее, осуществляют принципы настоящей технологии и включаются в пределы ее сущности и объема.
[0049] Кроме того, в качестве помощи в понимании, нижеприведенное описание может описывать относительно упрощенные реализации настоящей технологии. Специалисты в данной области техники должны понимать, что различные реализации настоящей технологии могут иметь большую сложность.
[0050] В некоторых случаях, также может быть изложено то, что считается полезными примерами модификаций настоящей технологии. Это осуществляется просто в качестве помощи в понимании и, кроме того, не должно не задавать объем или излагать ограничения настоящей технологии. Эти модификации не представляют собой исчерпывающий список, и специалисты в данной области техники могут вносить другие модификации при одновременном пребывании в пределах объема настоящей технологии. Дополнительно, если примеры модификаций не изложены, не следует интерпретировать это таким образом, что модификации невозможны, и/или таким образом, что то, что описывается, представляет собой единственный способ реализации этого элемента настоящей технологии.
[0051] Кроме того, все утверждения в данном документе, излагающие принципы, аспекты и реализации настоящей технологии, а также их конкретные примеры, имеют намерение охватывать их конструктивные и функциональные эквиваленты независимо от того, являются они известными в настоящее время или разрабатываются в будущем. Таким образом, например, специалисты в данной области техники должны признавать, что блок-схемы в данном документе представляют концептуальные виды иллюстративной схемы, осуществляющей принципы настоящей технологии. Аналогично, следует принимать во внимание, что все блок-схемы последовательности операций, блок-схемы, схемы переходов состояния, псевдокод и т.п. представляют различные процессы, которые могут представляться большей частью на компьютерно-читаемых носителях, и в силу этого выполняются посредством компьютера или процессора, независимо от того, показан или нет в явной форме такой компьютер или процессор.
[0052] Функции различных элементов, показанных на чертежах, включающих в себя все функциональные блоки, помеченные как "процессор" или "графический процессор", могут предоставляться с помощью специализированных аппаратных средств, а также аппаратных средств, допускающих выполнение программного обеспечения, в ассоциации с надлежащим программным обеспечением. При предоставлении посредством процессора функции могут предоставляться посредством одного специализированного процессора, посредством одного совместно используемого процессора и/или посредством множества отдельных процессоров, некоторые из которых могут совместно использоваться. В некоторых вариантах осуществления настоящей технологии процессор может представлять собой процессор общего назначения, такой как центральный процессор (CPU), либо процессор, выделенный для конкретной цели, такой как графический процессор (GPU). Кроме того, явное использование термина "процессор" или "контроллер" не должно истолковываться как означающее исключительно аппаратные средства, допускающие выполнение программного обеспечения, и может неявно включать в себя, без ограничений, аппаратные средства процессора цифровых сигналов (DSP), сетевой процессор, специализированную интегральную схему (ASIC), программируемую пользователем вентильную матрицу (FPGA), постоянное запоминающее устройство (ROM) для сохранения программного обеспечения, оперативное запоминающее устройство (RAM) и/или энергонезависимое устройство хранения. Также могут быть включены другие аппаратные средства, традиционные и/или специализированные.
[0053] Программные модули или просто модули, которые подразумеваются как программные, могут представляться в данном документе в качестве любой комбинации элементов блок-схемы последовательности операций способа или других элементов, указывающих выполнение этапов процесса, и/или текстового описания. Такие модули могут выполняться посредством аппаратных средств, которые показаны явно или неявно.
[0054] С учетом этих основных принципов, далее рассматриваются некоторые неограничивающие примеры, чтобы иллюстрировать различные реализации аспектов настоящей технологии.
[0055] Со ссылкой на фиг. 1, показывается вычислительное устройство 100, подходящее для использования с некоторыми реализациями настоящей технологии. Вычислительное устройство 100 содержит различные аппаратные компоненты, включающие в себя один или более одно- или многоядерных процессоров, совместно представленных посредством процессора 110, графический процессор 111 (GPU), полупроводниковый накопитель 120, оперативное запоминающее устройство 130, интерфейс 140 отображения и интерфейс 150 ввода-вывода.
[0056] Связь между различными компонентами вычислительного устройства 100 может осуществляться посредством одной или более внутренних и/или внешних шин 160 (например, посредством PCI-шины, универсальной последовательной шины, шины по стандарту IEEE1394 Firewire, шины SCSI, шины Serial ATA и т.д.), с которыми электронно соединяются различные аппаратные компоненты.
[0057] Интерфейс 150 ввода-вывода может соединяться с сенсорным экраном 190 и/или с одной или более внутренних и/или внешних шин 160. Сенсорный экран 190 может представлять собой часть дисплея. В некоторых вариантах осуществления сенсорный экран 190 представляет собой дисплей. Сенсорный экран 190 может в равной степени упоминаться как экран 190. В вариантах осуществления, проиллюстрированных на фиг. 1, сенсорный экран 190 содержит сенсорные аппаратные средства 194 (например, чувствительные к давлению элементы, встраиваемые в слой дисплея, обеспечивающий возможность обнаружения физического взаимодействия между пользователем и дисплеем) и контроллер 192 сенсорного ввода-вывода, обеспечивающий возможность связи с интерфейсом 140 отображения и/или с одной или более внутренних и/или внешних шин 160. В некоторых вариантах осуществления интерфейс 150 ввода-вывода может соединяться с клавиатурой (не показана), мышью (не показана) или сенсорной панелью (не показана), обеспечивающей возможность пользователю взаимодействовать с вычислительным устройством 100, помимо или вместо сенсорного экрана 190.
[0058] Согласно реализациям настоящей технологии, полупроводниковый накопитель 120 сохраняет программные инструкции, подходящие для загрузки в оперативное запоминающее устройство 130 и выполняемые посредством процессора 110 и/или GPU 111. Например, программные инструкции могут представлять собой часть библиотеки или приложения.
[0059] Вычислительное устройство 100 может представлять собой сервер, настольный компьютер, переносной компьютер, планшетный компьютер, смартфон, персональное цифровое устройство или любое устройство, которое может быть выполнено с возможностью реализовывать настоящую технологию, как должны понимать специалисты в данной области техники. Вычислительное устройство 100 может интегрироваться в автомобиле или другом транспортном средстве. Вычислительное устройство 100 может управлять автомобилем, к примеру, в беспилотном автомобиле.
[0060] Со ссылкой на фиг. 2, приведена схематичная иллюстрация автомобиля 200, причем автомобиль 200 реализуется согласно неограничивающим вариантам осуществления настоящей технологии. Хотя описывается в качестве автомобиля, автомобиль 200 может представлять собой грузовик, мотоцикл и/или любой другой тип транспортного средства с электромотором. Автомобиль 200 может представлять собой полностью или частично автономное транспортное средство, такое как беспилотный автомобиль. Автомобиль 200 содержит одну или более камер 210. Камеры 210 могут монтироваться на и/или интегрироваться в автомобиле 200. Камеры 210 могут позиционироваться за пределами автомобиля 200 и/или внутри автомобиля 200. Камеры 210 могут представлять собой часть матрицы датчиков, присоединяемой к автомобилю 200. Например, автомобиль 200 может иметь три внешних камеры 210 за пределами автомобиля 200 и две внутренних камеры 210 внутри автомобиля 200. Внутренние камеры 210 могут защищаться от дождя в силу нахождения внутри автомобиля 200.
[0061] Камеры 210 могут записывать одно или более видео 215. Видео 215 могут записываться в ходе работы автомобиля 200. Видео 215 могут включать в себя изображения светофоров. Система 220 видеообработки может принимать и/или обрабатывать видео 215, захваченные посредством камер 210. Система 220 видеообработки может преобразовывать видео 215 в набор неподвижных изображений 225. Например, кадры могут извлекаться из видео 215 с тем, чтобы формировать набор неподвижных изображений 225. Неподвижные изображения 225 могут захватываться с предварительно определенными интервалами в видео 215, к примеру, каждые 50 мс. Камеры 210 могут записывать видео с любой подходящей частотой кадров, к примеру, 30 Гц.
[0062] Система 220 видеообработки может изолировать один или более светофоров в видео 215. Видео 215 или неподвижные изображения 225 могут обрезаться для того, чтобы изолировать светофоры. Местоположения светофоров могут заранее записываться, к примеру, при нанесении на карту перекрестка, либо извлекаться из карты высокой четкости (HD) или другого типа дорожного графа. Дорожный граф представляет собой структуру, которая отображает дороги, дорожные полосы движения, светофоры, а также правила дорожного движения в ассоциации с сегментами дороги. Эта предварительно записанная информация может использоваться для того, чтобы определять координаты в видео 215, соответствующих светофорам. Помимо или вместо этой технологии, другие способы могут использоваться для того, чтобы изолировать светофоры, к примеру, с использованием распознавания изображений для того, чтобы определять позицию светофоров в видео 215 или неподвижных изображениях 225. Отдельные лампы светофора могут изолироваться. Например, изображение светофора, имеющего три лампы, может разбиваться на три различных изображения, причем каждое из трех изображений содержит одну лампу.
[0063] После формирования набора неподвижных изображений 225, все или часть неподвижных изображений 225 могут передаваться из системы 220 видеообработки в систему 205 анализа. Фиг. 7 и 8, описанные ниже, иллюстрируют действия, которые могут выполняться посредством системы 220 видеообработки и/или системы 205 анализа. Система 205 анализа может содержаться в автомобиле 200. Система 205 анализа может включать в себя первый алгоритм 230 машинного обучения (MLA) и/или второй MLA 250. Набор неподвижных изображений 225 может вводиться в первый MLA 230. Первый MLA 230 может выводить набор векторов 240 прогнозированных состояний.
[0064] Для каждой лампы каждого светофора в наборе неподвижных изображений 225, первый MLA 230 может прогнозировать состояние лампы. Прогнозированное состояние может включать в себя прогнозированную вероятность для каждого возможного цвета лампы, то, лампа включена или выключена, и/или то, является или нет неизвестным состояние. Прогнозированное состояние может иметь формат многомерного вектора, в котором каждая размерность соответствует одному состоянию, к примеру, одному цвету. Вывод может кодироваться с использованием одного горячего кодирования, в котором каждая категория представляется с использованием двоичной переменной.
[0065] Векторы 240 прогнозированных состояний могут вводиться во второй MLA 250. MLA 250 может выводить прогнозированное состояние 260 светофора. Прогнозированное состояние 260 может указывать прогнозированную вероятность каждого возможного состояния светофора. Прогнозированное состояние 260 может иметь форму вектора. Прогнозированное состояние 260 затем может использоваться для того, чтобы управлять автомобилем 200 и/или предоставлять помощь водителю автомобиля 200.
[0066] Следует понимать, что компоновка систем на фиг. 2 представляется только в качестве примера, и что возможно множество варьирований. Например, одно вычислительное устройство 100 может выполнять функции как системы 220 видеообработки, так и системы 205 анализа. В другом примере, некоторые функции системы 220 видеообработки и/или системы 205 анализа могут выполняться посредством устройства, которое расположено удаленно от автомобиля 200, такого как облачный сервер.
[0067] Со ссылкой на фиг. 3, проиллюстрированы примеры изображений 310-40 светофора. Изображения 310-40 захватываются из видео, к примеру, посредством системы 220 видеообработки. Каждое из изображений 310-40 соответствует времени в видео, начиная с изображения 310, которое захвачено в начале видео. Хотя проиллюстрированы как отделенные на 5 секунд, любой временной интервал может использоваться для захвата неподвижных изображений из видео, и на практике, временной интервал с большой вероятностью должен быть гораздо меньшим.
[0068] В начале видео, как указано в изображении 310, верхняя лампа светофора имеет состояние "выключена", средняя лампа светофора имеет состояние "выключена", и нижняя лампа имеет состояние "включена" и "зеленый свет". Хотя описывается в качестве лампы, любой тип источника света, используемого в светофоре, может захватываться посредством видео. Например, то, что упоминается в данном документе как одна лампа в светофоре, может содержать несколько ламп на светоизлучающих диодах (светодиодных).
[0069] Изображение 320 захвачено через пять секунд после изображения 310. Светофор имеет идентичное состояние в изображениях 310 и 320. Каждая из трех ламп в сигнале имеет идентичное состояние в изображениях 310 и 320. В изображении 330, сигнал изменен с зеленого света на желтый свет. Верхняя лампа по-прежнему имеет состояние "выключена". Средняя лампа теперь имеет состояние "включена" и "желтый свет", и нижняя лампа имеет состояние "выключена". В изображении 340, сигнал изменен на красный свет. Верхняя лампа теперь имеет состояние "красный свет", и средняя и нижняя лампы имеют состояние "выключена".
[0070] Со ссылкой на фиг. 4, проиллюстрирован пример помеченных состояний ламп светофора в соответствии с вариантами осуществления настоящей технологии. Помеченные состояния соответствуют вектору, представляющему каждую лампу светофора. Столбец 410 указывает состояние первой лампы в светофоре. Первая лампа указывается как "выключена". Столбец 420 указывает состояние второй лампы в светофоре. Аналогично первой лампе, вторая лампа выключена. Столбец 430 указывает состояние третьей лампы в светофоре. Третья лампа указывается как "зеленый свет".
[0071] Данные на фиг. 4 представляют векторы, созданные, когда человек-осмотрщик (профессиональный оценщик или краудсорсинговый оценщик) помечает изображение светофора, к примеру, изображение 310. Эти помеченные данные могут использоваться для того, чтобы обучать MLA, такой как первый MLA 230. Когда осмотрщик помечает изображение, каждая размерность может иметь "0" или "1" (соответствуют 0% и 100%), поскольку осмотрщик, помечающий изображение, уверен в состоянии каждой лампы. Фактическое состояние каждой лампы известно, поскольку осмотрщик помечает лампу. Напротив, фиг. 5 иллюстрирует пример векторов прогнозированных состояний для светофора. Вместо групп различных чисел векторы прогнозированных состояний типично должны попадать в диапазон между "0" и "1".
[0072] Данные на фиг. 5 представляют собой пример векторов прогнозированных состояний, к примеру, векторов, выводимых посредством первого MLA 230. В столбце 510, наиболее вероятное прогнозированное состояние лампы 1 представляет собой "выключена", которое имеет прогнозированную вероятность в 0,92 или 92%. Сумма прогнозированных вероятностей всех состояний для каждой лампы равна единице. В столбце 520, состояние с наибольшей прогнозированной вероятностью также представляет собой "выключена", и в столбце 530, состояние с наибольшей прогнозированной вероятностью представляет собой "зеленый свет".
[0073] Фиг. 4 и 5 иллюстрируют пять примеров состояний, "красный свет", "желтый свет", "зеленый свет", "стрелка", и "оффлайн", но не все эти состояния могут использоваться. Кроме того, могут использоваться другие состояния. Например, "стрелка" может удаляться и заменяться "стрелкой левого поворота", "стрелкой правого поворота" и "прямой стрелкой". В некоторых случаях, может использоваться состояние "включена". В других случаях, можно предполагать, что лампа включена, если состояние представляет собой все что угодно, кроме "выключена". "Неизвестное" состояние (не проиллюстрировано) может использоваться для того, чтобы указывать то, что состояние лампы не может определяться. Например, "неизвестное" состояние может выбираться или прогнозироваться, когда светофор перегорожен, либо если неблагоприятные погодные условия влияют на видео светофора.
[0074] Со ссылкой на фиг. 6, проиллюстрирован пример помеченных состояний видео светофора в соответствии с вариантами осуществления настоящей технологии. Помеченные состояния могут вводиться человеком, смотрящим видео светофора. Человек, смотрящий видео, может вводить состояние светофора каждый раз, когда светофор изменяет состояния. После этого может записываться точка данных, указывающая время, в которое состояние изменено, и состояние светофора после того, как состояние изменено. В альтернативных неограничивающих вариантах осуществления настоящей технологии, человек, смотрящий видео, может помечать интервалы для данного состояния - начальное время и конечное время, когда возникает данное состояние. Компьютерный интерфейс может предоставляться для того, чтобы обеспечивать возможность человеку, смотрящему видео, назначать метки видео.
[0075] Фиг. 6 иллюстрирует пример векторов, которые могут использоваться для обучения MLA, такого как второй MLA 250. Векторы, проиллюстрированные на фиг. 6, могут определяться на основе состояний, вводимых человеком, смотрящим видео светофора. Проиллюстрированные векторы на фиг. 6 соответствуют изображениям светофора на фиг. 3. В начале видео состояние светофора представляет собой "зеленый свет". В 5 секунд, состояние светофора по-прежнему представляет собой "зеленый свет". В 10 секунд, состояние светофора представляет собой "желтый свет", и в 15 секунд, состояние светофора представляет собой "красный свет".
[0076] Видео может отображаться человеку-осмотрщику. Осмотрщик может осуществлять вводы на временной шкале, указывающие времена, в которые светофор изменяет состояния. Векторы, используемые для обучения второй MLA 250, могут определяться на основе меток, вводимых осмотрщиком, указывающих изменения состояния светофора. Например, если метки указывают то, что светофор изменяется с красного света на зеленый свет в 3 секунды в видео, все векторы, сформированные для времен между 0 и 3 секундами, должны указывать то, что состояние представляет собой красный свет, и все векторы, сформированные для времен после 3 секунд, должны указывать то, что состояние представляет собой зеленый цвет.
[0077] Хотя фиг. 6 иллюстрирует пример, в котором векторы создаются для каждых 5 секунд, любой интервал может использоваться для формирования обучающих данных, и на практике интервал с большой вероятностью должен быть гораздо меньшим, к примеру, 10 миллисекунд. Доступные состояния, проиллюстрированные на фиг. 6, являются примерными. Не все проиллюстрированные состояния могут использоваться, и/или могут использоваться другие состояния, которые не проиллюстрированы. Например, другие состояния, которые могут использоваться, включают в себя "зеленая стрелка", "красная стрелка", "мигающий зеленый свет", "мигающий желтый свет", "мигающий красный свет" и т.д. В некоторых неограничивающих вариантах осуществления настоящей технологии, состояния могут усредняться за предварительно определенные периоды времени.
Способ (неограничивающий вариант осуществления)
[0078] Со ссылкой на фиг. 7 и 8, проиллюстрирована блок-схема последовательности операций способа 700, при этом способ 700 реализуется в соответствии с неограничивающими вариантами осуществления настоящей технологии.
Этап 705 - извлечение помеченных неподвижных изображений светофоров
[0079] Способ 700 начинается на этапе 705. На этапе 705, могут извлекаться помеченные неподвижные изображения светофоров. Изображения и ассоциированные метки могут извлекаться из базы данных. Помеченные неподвижные изображения могут использоваться в качестве обучающих данных для того, чтобы обучать MLA. Неподвижные изображения могут сниматься посредством камеры на транспортном средстве, к примеру, посредством камер 210. Неподвижные изображения могут захватываться из видео. Кадры видео могут извлекаться с предварительно определенными интервалами, к примеру, каждые 5 мс.
[0080] Каждое неподвижное изображение может иметь ассоциированную метку. Метка может указывать состояние каждой лампы светофора в неподвижном изображении и/или состояние светофора. Фиг. 3 иллюстрирует примеры неподвижных изображений светофоров, которые могут извлекаться. Фиг. 4 иллюстрирует примеры меток, которые могут быть ассоциированы с неподвижным изображением светофора.
[0081] Каждое изображение может помечаться отдельно человеком, просматривающим неподвижное изображение. Для каждой лампы светофора, осмотрщик может указывать то, включена (т.е. горит) или выключена лампа. Если лампа включена, осмотрщик может вводить цвет лампы. Например, для изображения 330 на фиг. 3, осмотрщик может вводить "выключена" для верхней лампы, "включена" и "желтый свет" (или просто "желтый свет") для средней лампы и "выключена" для нижней лампы.
[0082] Вместо отображения всего светофора осмотрщику, помечающему изображение, отдельные лампы могут изолироваться, и каждая лампа может отдельно отображаться осмотрщику. Границы светофора и/или ламп в пределах изображения могут определяться с использованием технологий распознавания изображений и/или на основе известных данных местоположения, сохраненных в картах. Известные данные местоположения могут включать в себя ранее записанную информацию, указывающую местоположения светофоров.
[0083] Метки могут автоматически формироваться на основе ввода от пользователя, к примеру, на основе пользовательского ввода, указывающего состояние светофора. Например, если пользователь вводит то, что состояние светофора представляет собой "зеленый свет" для определенного периода времени, все изображения, соответствующие этому периоду времени, могут помечаться состоянием "выключена" для верхней лампы, состоянием "выключена" для средней лампы и состоянием "зеленый свет" для нижней лампы светофора.
Этап 710 - обучение первого MLA
[0084] На этапе 710, первый MLA, такой как первый MLA 230, может обучаться с возможностью принимать изображение светофора в качестве ввода и выводить прогнозированное состояние каждой лампы светофора. Чтобы обучать первый MLA, помеченные неподвижные изображения могут подаваться в первый MLA. Метки могут иметь форму векторов, таких как векторы, проиллюстрированные на фиг. 4. Вывод первого MLA также может иметь формат векторов, таких как векторы, проиллюстрированные на фиг. 5. Формат вывода может совпадать с форматом меток. Первый MLA может содержать несколько MLA, к примеру, первый MLA для того, чтобы прогнозировать цвет каждой лампы светофора, и второй MLA для того, чтобы прогнозировать то, отображает либо нет каждая лампа стрелку влево или стрелку вправо.
[0085] Первый MLA может представлять собой нейронную сеть и/или любой другой тип MLA-модели. Первый MLA может включать в себя несколько моделей. В некоторых случаях, несколько моделей могут формировать цепочку, в которой вывод первой модели (или нескольких моделей) вводится во вторую модель. В других случаях, каждая модель может выполнять прогнозирование, и эти прогнозирования могут использоваться для того, чтобы определять конечное прогнозирование. Например, среднее выводов нескольких моделей может определяться в качестве вывода первого MLA.
[0086] Для каждого неподвижного изображения, MLA может прогнозировать состояние каждой лампы светофора в неподвижном изображении. Прогнозирование затем может сравниваться с меткой, которая указывает фактическое состояние каждой лампы светофора. Величина ошибки может определяться, к примеру, посредством использования функции потерь. Функция потерь может быть предварительно определена. Величина ошибки может указывать разность между прогнозированным состоянием лампы и меткой (фактическим состоянием лампы). Величина ошибки может определяться в формате вектора.
[0087] После определения величины ошибки, к примеру, посредством использования функции потерь, первый MLA может регулироваться на основе величины ошибки. Первый MLA может регулироваться таким образом, что если в MLA снова предоставлен идентичный ввод, то разность между прогнозированным состоянием и фактическим состоянием должна уменьшаться.
[0088] Первый MLA может продолжать обучаться с использованием помеченных обучающих данных до тех пор, пока первый MLA не достигнет предварительно определенного порогового значения точности и/или не будет обучен с использованием предварительно определенного количества помеченных неподвижных изображений. Некоторые доступные помеченные неподвижные изображения могут не использоваться для того, чтобы обучать первый MLA. Наоборот, эти помеченные неподвижные изображения могут использоваться для того, чтобы тестировать точность первого MLA.
Этап 715 - извлечение помеченных видео светофоров
[0089] На этапе 715, могут извлекаться помеченные видео светофоров. Метки могут указывать фактические состояния светофоров в видео. Метки могут указывать периоды времени, соответствующие каждому состоянию светофора. Фиг. 6 иллюстрирует пример меток, которые могут быть ассоциированы с видео светофора. Помеченные видео могут извлекаться из базы данных. Видео могут записываться посредством камер на автомобиле, таких как камеры 210.
[0090] Как описано выше, осмотрщик может помечать видео состоянием светофора в видео. Осмотрщикам может представляться короткое видео, к примеру, видео светофора продолжительностью в три-десять секунд. Осмотрщик затем может вводить состояния светофора на временной шкале, соответствующей видео. Каждый раз, когда светофор изменяет состояния в видео, осмотрщик может указывать на временной шкале то, что светофор изменяет состояния.
Этап 720 - формирование неподвижных изображений из видео
[0091] На этапе 720, неподвижные изображения могут формироваться из видео, извлеченных на этапе 715. Неподвижные изображения могут формироваться посредством извлечения кадров видео. Неподвижные изображения могут формироваться с предварительно определенными интервалами, к примеру, каждые 50 мс видео. Вместо указания точного времени для интервала между каждым изображением, может указываться период времени, к примеру, между каждыми 4 и 6 мс. Изображение затем может выбираться в течение этого периода времени на основе различных критериев, таких как попытка выбирать изображение, в котором светофор находится в фокусе. В некоторых случаях, несколько кадров видео могут комбинироваться для того, чтобы формировать неподвижное изображение.
[0092] Фильтры и/или другие модификации могут применяться к изображениям и/или видео. Как описано выше, видео и/или неподвижные изображения могут модифицироваться для того, чтобы изолировать светофоры в видео и/или изображениях. Например, видео и/или неподвижные изображения могут обрезаться для того, чтобы удалять части видео и/или неподвижных изображений, которые не включают в себя светофор. Яркость, контрастность, уровни и т.д. изображений могут регулироваться.
Этап 725 - первый MLA выводит векторы прогнозированных состояний
[0093] На этапе 725, неподвижные изображения, сформированные на этапе 720, могут вводиться в обученный первый MLA. Первый MLA затем может выводить, для каждой лампы в каждом изображении, прогнозированное состояние лампы. Прогнозированное состояние может иметь формат вектора. Векторы прогнозирования для каждой лампы могут сохраняться в матрице. Прогнозированные состояния могут кодироваться с использованием одного горячего кодирования.
[0094] Хотя описывается в качестве отдельного вектора для каждой лампы, в некоторых случаях, прогнозирование для каждой лампы может комбинироваться, и одиночное прогнозирование может формироваться для каждого изображения или каждого светофора в каждом изображении. Например, один вектор может выводиться для каждого светофора, причем один вектор указывает прогнозированное состояние для каждой лампы светофора.
Этап 730 - обучение второго MLA
[0095] На этапе 730, может обучаться второй MLA. Обучающие данные, используемые для того, чтобы обучать второй MLA, могут включать в себя векторы прогнозированных состояний, выводимые на этапе 725, и фактические состояния светофора, извлеченные на этапе 715. Второй MLA может принимать набор векторов прогнозированных состояний в качестве ввода и выводить прогнозированное состояние светофора. Например, второй MLA может принимать векторы прогнозированных состояний, соответствующие пяти секундам видео светофора, и затем может выводить прогнозированное состояние светофора после пяти секунд. Выходное прогнозированное состояние может иметь формат вектора.
[0096] Второй MLA может представлять собой нейронную сеть и/или любой другой тип MLA-модели. Второй MLA может включать в себя несколько моделей. В некоторых случаях, несколько моделей могут формировать цепочку, в которой вывод первой модели (или нескольких моделей) вводится во вторую модель. В других случаях каждая модель может выполнять прогнозирование, и эти прогнозирования могут использоваться для того, чтобы определять конечное прогнозирование. Например, среднее выводов нескольких моделей может определяться в качестве вывода второго MLA.
[0097] После того, как второй MLA формирует прогнозированное состояние светофора, прогнозирование может сравниваться с меткой, из данных, извлеченных на этапе 715, указывающей фактическое состояние светофора. Величина ошибки может определяться, к примеру, посредством использования функции потерь. Функция потерь может быть предварительно определена. Величина ошибки может указывать разность между прогнозированным состоянием светофора и меткой (фактическим состоянием светофора). Величина ошибки может определяться в формате вектора.
[0098] После определения величины ошибки, к примеру, посредством использования функции потерь, второй MLA может регулироваться на основе величины ошибки. Второй MLA может регулироваться таким образом, что если в MLA снова предоставлен идентичный ввод, то разность между прогнозированным состоянием и фактическим состоянием должна уменьшаться.
[0099] Второй MLA может продолжать обучаться с использованием помеченных обучающих данных до тех пор, пока второй MLA не достигнет предварительно определенного порогового значения точности и/или не будет обучен с использованием предварительно определенного количества точек обучающих данных. Некоторые доступные точки обучающих данных могут не использоваться для того, чтобы обучать второй MLA. Наоборот, эти точки обучающих данных могут использоваться для того, чтобы тестировать точность второго MLA.
Этап 735 - захват видео светофора
[00100] На этапе 735, видео светофора может захватываться, к примеру, посредством камер 210 на автомобиле 200. Автомобиль 200 может перемещаться в то время, когда видео захватывается. Видео может включать в себя один светофор или несколько светофоров. Части видео могут не включать в себя светофоры.
[00101] Могут записываться одно или более местоположений, соответствующих упомянутому видео. Местоположения могут указывать местоположение автомобиля, перевозящего камеру, когда видео захватывается. Картографические данные могут указывать приблизительное местоположение светофоров. Эта информация может использоваться для того, чтобы захватывать видео светофоров. Например, камеры 210 могут направляться с возможностью захватывать видео известного местоположения светофоров.
Этап 740 - формирование неподвижных изображений светофора
[00102] На этапе 740, могут формироваться неподвижные изображение светофора, захваченного в видео на этапе 735. Изображения могут формироваться идентично тому, как изображения сформированы на этапе 720 для обучения второй MLA. Если изображения на этапе 720 сформированы с интервалами в 5 мс, изображения на этапе 740 также могут формироваться с интервалами в 5 мс. Любые другие действия, выполняемые на этапе 720, могут выполняться на этапе 740, такие как изоляция светофора в изображении.
[00103] Хотя описывается в качестве видео, последовательность неподвижных изображений светофора может захватываться на этапе 735. Если последовательность неподвижных изображений захватывается на этапе 735, все или часть действий, выполняемых на этапе 740, могут пропускаться.
Этап 745 - прогнозирование векторов состояний с использованием первого MLA
[00104] На этапе 745, неподвижные изображения на этапе 740 могут вводиться в первый MLA. Первый MLA может заранее обучаться на этапе 710 с возможностью прогнозировать состояние для каждой лампы каждого изображения. Первый MLA может определять прогнозированное состояние каждой лампы неподвижных изображений, сформированных на этапе 740. Первый MLA может выводить вектор прогнозированных состояний для каждой лампы каждого из неподвижных изображений. Векторы могут указывать прогнозированное состояние каждой лампы, такое как "зеленый свет", "красный свет", "оффлайн", "неизвестное" и т.д. Фиг. 5 иллюстрирует пример векторов прогнозированных состояний. Векторы прогнозированных состояний могут сохраняться в матрице и/или на многомерном графе.
[00105] Прогнозированное состояние может включать в себя индикатор доверия для каждого прогнозированного состояния. Например, для столбца 530 на фиг. 5, прогнозированное состояние может представлять собой "зеленый свет", и доверие для состояния может составлять 91%.
[00106] Неподвижные изображения нескольких светофоров могут вводиться в первый MLA, к примеру, неподвижные изображения нескольких светофоров из идентичного перекрестка. Вывод первого MLA для каждого светофора может агрегироваться, к примеру, посредством усреднения значений, выводимых посредством MLA для каждого из светофоров.
Этап 750 - прогнозирование состояния с использованием второго MLA
[00107] На этапе 750, все или часть векторов состояний, сформированных на этапе 745, могут вводиться во второй MLA. Если векторы прогнозированных состояний сохранены в матрице, матрица может вводиться во второй MLA. Второй MLA может заранее обучаться на этапе 730. Второй MLA может использовать векторы состояний, сформированные на этапе 745, для того, чтобы определять прогнозированное состояние светофора.
[00108] Прогнозированное состояние может включать в себя прогнозированный цвет светофора (зеленый свет, красный свет и т.д.), прогнозированный символ, отображаемый посредством светофора (стрелка, символ "идите" и т.д.), и/или прогнозированный шаблон, отображаемый посредством светофора (немигающий, мигающий и т.д.). В видео светофора, захваченного на этапе 735, сигнал светофора может казаться мерцающим, хотя для человеческого глаза сигнал светофора может представлять собой немигающий свет. Несмотря на мерцание, второй MLA может различать то, имеет сигнал светофора намерение представлять собой немигающий свет или мигающий свет (к примеру, мигающий зеленый свет, указывающий защищенный поворот). Прогнозированное состояние может выводиться в качестве вектора. Вектор может указывать величину доверия для прогнозирования каждого из состояний. Доверие для каждого из прогнозированных состояний может сравниваться для того, чтобы определять прогнозированное состояние, которое следует выводить. Прогнозированное состояние, имеющее наибольшее доверие, может выводиться.
[00109] Прогнозированное состояние светофора может представлять собой прогнозированное состояние светофора во время последнего неподвижного изображения, вводимого во второй MLA. Например, если последовательность изображений вводится во второй MLA, при этом последнее изображение захвачено в 11:56:03, второй MLA может выводить прогнозирование состояния светофора в 11:56:03.
[00110] В некоторых случаях, второй MLA может выводить прогнозирование состояния светофора для будущего времени или прогнозировать несколько будущих состояний движения. Например, второй MLA может выводить прогнозирование состояния светофора во время последнего изображения, вводимого во второй MLA, и состояние светофора через одну секунду после времени последнего изображения, вводимого во второй MLA.
Этап 755 - вывод прогнозированного состояния
[00111] На этапе 755, может выводиться прогнозированное состояние светофора. Прогнозированное состояние может использоваться для того, чтобы определять действия беспилотного автомобиля, такого как автомобиль 200. Прогнозированное состояние может использоваться для того, чтобы определять то, должен либо нет беспилотный автомобиль регулировать свою скорость или направление. Например, прогнозированное состояние может использоваться для того, чтобы определять то, должен автомобиль 200 останавливаться на перекрестке со светофором или продолжать движение через перекресток.
[00112] Прогнозированное состояние может использоваться для того, чтобы помогать водителю автомобиля. Например, прогнозированное состояние может использоваться для того, чтобы предупреждать водителя, если водитель не замедляет ход по мере того, как он приближается к светофору, который прогнозируется как имеющий красный свет.
[00113] Хотя вышеописанные реализации описываются и показываются со ссылкой на конкретные этапы, выполняемые в конкретном порядке, следует понимать, что эти этапы могут комбинироваться, подразделяться или переупорядочиваться без отступления от идей настоящей технологии. По меньшей мере некоторые этапы могут выполняться параллельно или последовательно. Соответственно, порядок и группировка этапов не представляют собой ограничение настоящей технологии.
[00114] Следует четко понимать, что не все технические эффекты, упомянутые в данном документе, должны использоваться в каждом варианте осуществления настоящей технологии. Например, варианты осуществления настоящей технологии могут реализовываться без применения пользователем некоторых из этих технических эффектов, тогда как другие варианты осуществления могут реализовываться с применением пользователем других технических эффектов либо вообще без них.
[00115] Некоторые из этих этапов и отправки/приема сигналов известны в данной области техники и, по сути, опущены в определенных частях этого описания для простоты. Сигналы могут отправляться/приниматься с использованием оптического средства (к примеру, волоконно-оптического соединения), электронного средства (к примеру, с использованием проводного или беспроводного соединения) и механического средства (к примеру, на основе давления, на основе температуры или на основе любого другого подходящего физического параметра).
[00116] Модификации и улучшения вышеописанных реализаций настоящей технологии могут становиться очевидными для специалистов в данной области техники. Вышеприведенное описание должно использоваться в качестве примеров, а не ограничения. В силу этого, объем настоящей технологии имеет намерение быть ограниченным исключительно посредством объема прилагаемой формулы изобретения.