РАСПОЗНАВАНИЕ ДОРОЖНЫХ ЗНАКОВ НА ПАНОРАМНЫХ СНИМКАХ
ДЛЯ СОЗДАНИЯ НАВИГАЦИОННЫХ КАРТ
Р.Н.Садеков1, К.А.Асатрян2, В.Е.Прун3, В.В.Постников4, Ф.Г.Кирдяшов5, М.Р.Корень6
МОУ «Институт инженерной физики», Серпухов, Россия, e-mail: sadekovlar@mail.ru
МОУ «Институт инженерной физики», Серпухов, Россия
ООО «Когнитивные технологии», Москва, Россия, e-mail: prun@cognitive.ru
ООО «Когнитивные технологии», Москва, Россия, e-mail: vassili.postnikov@gmail.com
НИТУ «МИСиС», Москва, Россия, e-mail: kirfyodor@mail.ru
НИТУ «МИСиС», Москва, Россия, e-mail: rita-kren@rambler.ru
Цифровая карта дорог, панорамные снимки google street view,
распознавание, дорожные знаки, навигационная карта
В работе предлагается подход к распознаванию дорожных знаков на панорамных снимках Google Street View. Входными данными для распознавания выступают цветные изображения разрешением 640х640 полученные с сайта Google по специально сформированным запросам. Распознавание знаков дорожной сети осуществляется с использованием специальных детекторов, а классификация с использованием нейронной сети. По координатам дорожных знаков на изображении вычисляется широта и долгота местоположения знака. Координаты дорожных знаков и их тип составляют навигационную карту.
Введение
Появление первых систем автопилотирования, доступных для массового потребителя, ожидается уже к 2020 году. Существующие прототипы автопилотируемых систем, для решения навигационной задачи используют спутниковые технологии и технологий на основе лидаров. Данный подход обеспечивает точность позиционирования объекта на дороге на уровне десятков сантиметров. Получение столь высокой точности возможно благодаря корреляционно-экстремальному подходу, в котором спутниковые системы решают задачу грубого позиционирования объекта на дороге, а лидары – точного. Точное решение получается благодаря сравнению текущей реализации 3D облака точек с заранее созданной 3D картой. Трехмерные карты точек, необходимо заранее подготавливать перед проездом транспортного средства и своевременно обновлять. Такие карты занимают достаточно большой объем дискового пространства, что также является проблемой. Кроме того, оборудование, привлекаемое для навигации, является дорогим и его стоимость, соизмерима со стоимостью автомобиля.
Альтернативным, является подход использующий, для навигации подвижного объекта, информацию систем технического зрения [1,2]. Анализ изображений получаемых системой технического зрения в последовательные моменты времени позволяет реализовать метод счисления пути на борту автомобиля. Погрешности таких систем растут во времени, поэтому для поддержания высокой точности определения координат необходимо использовать дополнительную информацию. Повышение точности позиционирования подвижного объекта, возможно за счет использования карты содержащей дорожные объекты – ориентиры, к которым относятся: километровые и осветительные столбы, знаки дорожного движения, вывески, штендеры, знаки дорожного движения, дорожная разметка и др. Исследования показали, что расстояние между знаками дорожного движения, располагаемыми на дорогах, в среднем составляет около 50 м, а при учете всех возможных ориентиров расстояние между ними составляет около 20 м. Таким образом, при движении автомобиля в поле зрения камеры может постоянно находится несколько ориентиров, которые целесообразно использовать для коррекции показаний и поддержания требуемой точности определения координат. По предварительным расчетам информация об ориентирах карты занимает всего 10 Кб на 1 км движения, что в тысячи раз меньше, чем информация 3D карты облаков точек. Малый объем информации позволяет не только ее оперативно использовать, но и обновлять, что может быть реализовано в режиме онлайн, уже существующими интернет технологиями.
В работе, формирование навигационной карты предлагается осуществить за счет анализа панорамных снимков, распознавания на них знаков дорожного движения и нанесения их на карту. Панорамные снимки дороги формируются с использованием информационного ресурса Google Street View. Специально разработанное программное обеспечение, используя протокол Google API для каждой точки маршрута с заданными географическими координатами и азимутом направления, формирует изображения. Далее изображения подвергаются анализу на предмет обнаружения знаков дорожного движения. Используя текущие координаты снимка и положение знака на нем, вычисляются координаты дорожного знака, которые наносятся на карту.
Существующие работы
В настоящее время проблемой мониторинга дорог занимаются многие фирмы, а применяемые ими технологии достаточно разнообразны. Данные технологии различаются как по цене, используемому оборудованию, требованиям ко времени необходимому для сбора данных и его анализу и могут быть разделены на несколько типов:
1. Фото/Видео (при перемещении подвижного объекта по дороге с GPS производится автоматическая запись фото/видео данных, которая в дальнейшем подвергается анализу).
2. Воздушная/Космическая съемка (анализируются снимки высоко разрешения, полученные с летающего объекта или спутника с целью выявления дорожной ситуации и дорожного окружения).
Результаты, полученные с использованием технологий GPS и геоинформационных систем, являются наиболее удачными из краткосрочных решений. Тем не менее, методы дистанционного зондирования и фото/видео фиксация являются самыми привлекательными в долгосрочном плане. Выработка оптимального решения должна опираться на имеющиеся экономические, технологические и человеческие ресурсы. В работах [2,5] показано, что полезность используемых техник зависит от типа собранных особенностей, положения, классов, дорожных знаков их визуального отображения. Поэтому, часть из имеющихся в настоящее время баз данных не способны быстро обновляться и анализировать информацию.
В последние годы, на рынке стали доступны системы помощи водителя, способные решать задачу детектирования и распознавания дорожных знаков. Однако данные системы не адаптированы для изображений получаемых с ресурса Google Street View. Представленные решения работаю в реальном времени, настроены на большую частоту получаемых изображений и опираются на технологи оптического потока и методы распознавания краев, что не подходит для редких (интервал получения изображений на порядок меньше, чем в системах помощи водителям) изображений получаемых с ресурса Google Street View [9]. Изображения с ресурса Google Street View часто имеют разрешение превышающее разрешения изображений используемых в системах помощи водителя. Недавние исследования показали, что гистограммы ориентированных градиентов (HOG) и вейвлеты Хаара могут быть хорошей альтернативой для распознавания дорожных знаков на уличных фото [3,8]. Например, в работе [10] осуществляется комбинирование детектора краев и признаков Хаара, в работе [6] особенностей получаемых от гистограммы ориентированных градиентов. В работе [1,11] для распознавания используется HOG особенности, построенные для цветной гистограммы учитывающие текстуру и цвет шаблона дорожного знака.
Выбор способов распознавания дорожных знаков с использованием методов машинного обучения определяется признаками, используемыми для решения задачи классификации. Для распознавания дорожных знаков часто используют каскадные классификаторы и Хаара подобные признаки [12], обучаемые с использованием машин опорных векторов [4], нейронных сетей, и различных boost методов [7].
Решение
В статье предлагает новый подход, к созданию навигационных карт дорожных знаков используя панорамные снимки Google Street View. Данный подход не требует дополнительной информации кроме информации доступной на снимках Google Street View. Получение изображений дорожных знаков реализуется с использованием API ресурса Google Street View и распознавания и классификация изображений с использованием методов машинного обучения. Далее рассчитывается положение распознанных знаков, которое отображается на карте. Основные этапы работы алгоритма представлены на рисунке 1.
На первом этапе формируется карта города. Карта города Серпухова была получена с использованием программы QGIS и сохранена для использования в программной среде Matlab в .shp формате.
На втором этапе осуществляется выбор маршрута движения. Для простоты маршрут движения соответствовал одной из улиц города. Вдоль данной улицы и необходимо распознать дорожные знаки.
На третьем этапе, дорога разбивалась на отрезки примерной протяженностью 10 метров. На концах точек отрезка определялись координаты и угол азимутальной ориентации . Угол азимутальной ориентации определялся по формуле
(1)
где - широта и долгота в текущей точке i, - широта и долгота в точке (i+1).
Рисунок 1. Общая схема предложенного подхода
Получение изображений с сайта Google Street View
Используемое в работе API определяется параметрами URL (Uniform Resource Locator) протокола. Наглядное отображение используемых в URL запросе параметров представлено на рисунке 2. Данный протокол представляет собой стандартизированный статичный HTTP запрос, по которому с ресурса Google Street View формируются изображения. Уникальная строковая переменная, формируемая для каждой точки отрезка, содержит список названий и значений параметров. Вид строковой переменной представлен выражением (2). После создания строковой переменной реализуется HTTP запрос специально созданной функцией. Пример HTTP запроса представлен ниже
(2)
где size – размер изображения в пикселях (640х640), location - положение точки съемки (широта и долгота) в градусах, heading – азимут ориентации камеры (0-360 градусов), fov – угол поля зрения (90 градусов), pitch – вертикальный угол для верхнего и нижнего движения камеры относительно линии горизонта камеры (0 градусов).
Рисунок 2. URL параметры и пример изображения Google Street View
Распознавание дорожных знаков
Основными этапами предлагаемого метода распознавания дорожных знаков являются этап детектирования, классификации и окончательного принятия решения.
Детектирование дорожных знаков производится с помощью набора детекторов, каждый из которых предназначен для локализации мест положения знаков определенной категории (Рисунок 3).
Рисунок 3. Общая схема предложенного подхода
Используемые детекторы можно условно подразделить на две категории: растровые, которые основаны на вычислении признаков на анализируемом фрагменте растра, и векторные, основанные на выделении связных компонент и анализе их формы и цвета.
Растровые детекторы основаны на методе Виолы – Джонса [13]. Метод Виолы – Джонса использует признаки, наподобие признаков Хаара, представленные на рисунке 4
Рисунок 4. Примеры признаков Хаара
В рассматриваемой задаче использовались признаки, направленные на распознавание прямоугольной, ромбовидной, треугольной и круглой форм. Алгоритм использует четыре растровых детектора, направленных на детектирование каждого класса знаков и цветов, например, «растровый детектор синих прямоугольных знаков».
Векторные детекторы применяются к исходному изображению. Работа векторных детекторов строиться на морфологических методах и состоит из следующих этапов:
- выделение компонент цвета в цветовом пространстве HSV;
- проведение операций морфологии, определение связности компонент и выделения объектов на изображении;
- фильтрация компонент с помощью выделения ровных краев знака на основе матричных фильтров и фильтрация кандидатов на знаки по площади объекта;
- фильтрация кандидатов на основе поиска объектов, удовлетворяющих заданным геометрическим примитивам (круг, прямоугольник, треугольник и ромб).
Алгоритм также использует несколько типов векторных детекторов, разделяемых как по цвету, так и по типам фигур.
Гипотезы, сформированные каждым из детекторов, объединяются в общий набор для последующей классификации знаков. Поскольку векторные и растровые детекторы обнаруживают одни и те же классы знаков, далее производится ранжирование результатов по количеству совпадений. Наибольший приоритет имеют области, обнаруженные и растровым и векторным детектором совместно. Оценка совпадения областей устанавливается путем определения степени их перекрытия с заранее заданным порогом. Таким образом, на выходе блока детектирования формируется гипотеза, включающая в себя область изображения, в которой находится дорожный знак, предполагаемую группу, к которой относится знак (по цвету и форме) и приоритет, определяемый в результате операции ранжирования.
Большая категория знаков дорожного движения имеет общие черты, определяемые их формой и цветом (знаки «Ограничение скорости»/«Окончание ограничения скорости» или подкатегория знаки «треугольной» формы «Пешеходный переход», «Осторожно, дети» и «Дорожные работы»), поэтому на этапе детектирования невозможно однозначно определить какой конкретно знак дорожного движения обнаружен. Кроме того, возможны ложные срабатывания детекторов. Все это приводит к необходимости использования процедур дальнейшей классификации найденных решений.
Дальнейшая классификация дорожных знаков выполняется с использованием нейросетевого подхода. Нейросетевой классификатор основан на использовании полносвязной нейронной сети с двумя скрытыми слоями, обученной на большом объеме данных. На вход сети подается трехканальное цветное изображение дорожного знака в rgb пространстве, размером 32 на 32 пикселя. Количество нейронов в сети равно 32×32×3=3072.
Поскольку входные изображения должны иметь фиксированный размер, то применяются два типа классификации: фиксированный образ и классификация «с плавающим окном». Для ограничения числа ложных срабатываний последний алгоритм включается только для знаков с низкой вероятностью распознавания по первоначальной позиции.
Нейронная сеть имеет выходной слой, состоящий из 57 нейронов, соответствующих искомым классам знаков. На выходном слое сети формируются вероятность принадлежности образца соответствующему классу.
При обучении сети использовались 120 тысяч реальных и синтезированных образов знаков. Синтезированные образы генерировались с учетом возможных проективных искажений, поворотов, смещений, шумов и других искажений, присутствующих на реальных изображениях. В обучающую выборку сетей были включены классы «отказ», не содержащие фрагментов дорожных знаков. Точность классификации дорожных знаков, полученная на независимых тестовых выборках, без учета этапа детектирования и работы детекторов знаков, составляет 99,9%.
Пример работы алгоритма распознавания знаков приведен на рисунке 5.
Рисунок 5. Примеры распознавания дорожных знаков по снимкам Google Street View
Результаты комплексного тестирования алгоритмов обнаружения знаков (включающей совокупность детекторов и классификаторов) при использовании в системах помощи водителю показали следующие характеристики TP 80 – 85,4 % и FP ~6,2 – 10% (без учета процедур покадрового слежения, с англ. tracking). Анализ работы алгоритмов обнаружения знаков на изображениях Google Street View.
Определение координат знака и построение карты
На следующем этапе вычисляются координаты распознанных знаков. Рассмотрим простейший способ определения координат местоположения дорожного знака. Дальность до знака D с определенной степенью точности может быть вычислена исходя из его реальных размеров R и угла поля зрения на него . В свою очередь может быть найден исходя из размеров изображения , размеров обрамляющего знак прямоугольника и значения FOV. Таким образом, значение дальности D равно
(3)
Координаты знака могут быть найдены исходя из следующих формул
(4)
Где - координаты точки съемки, - радиус кривизны меридиана и радиус кривизны первого вертикала эллипсоида в WGS-84, - высота камеры относительно дорожного покрытия (для google автомобиля ), - вертикальный угол от центра изображения до середины знака, - абсолютный горизонтальный угол до центра знака на изображении, - приращение горизонтального угла от центра изображения до центра знака. Углы ,вычисляются аналогично параметру .
Абсолютная высота точки размещения знака может быть получена с использованием матриц высот по известным координатам с учетом относительной высоты знака .
Полученные координаты знаков наносятся на карту по текущим координатам . Пример отдельно взятой улицы с нанесенными координатами знаков дорожного движения приведен на рисунке 6.
Рисунок 6. Пример навигационной карты дорожных знаков
Для оценки точности положения обнаруженных знаков на карте был использован спутниковый снимок высокой четкости. На данном снимке в ручном режиме определялись координаты обнаруженных знаков, которые в дальнейшем сравнивались с вычисленными по панорамному снимку координатами. Оценка точности определения координат проводилась для группы знаков состоящей из 10 дорожных знаков. Сравнительная оценка точности показала, что значение средней квадратической погрешности определения координат не превышает 3 метров.
Заключение
В работе предложен подход к построению навигационных карт дорожных знаков по информации панорамных снимков Google Street View. В качестве метода распознавания дорожных знаков предлагается подход, основанный на использовании нейронных сетей. Входными данными для распознавания выступают цветные изображения разрешением 640х640 полученные с сайта Google по специально сформированным запросам. Предложен простейший подход к вычислению координат дорожных знаков и нанесения их на карту по единичному снимку. Оценка точности определения координат дорожного знака проводилась с использованием спутникового снимка и показала удовлетворительную точность.
Исследования проводятся при финансовой поддержке государства в лице Минобрнауки России. Уникальный идентификатор проекта RFMEFI57914X0011.
Список литературы
-
Brubaker M.A., Geiger A., Urtasun, R. Map-based Probilistic Visual Self-Localization, PAMI, 2016 IEEE Conference, 2016.
С.Б. Беркович, Н.И. Котов, А.С. Лычагов, Н.В.Панокин,Р.Н.Садеков, А.В.Шолохов. Система технического зрения как дополнительный датчик в задаче автомобильной навигации// Giroskopiya i Navigatsiya. 2017, Vol. 25, No.1 (96), pp. 49-63.
Balali, V, Golparvar-Fard, M. Evaluation of multi-class traffic sign detection and classification methods for U.S. roadway asset inventory management. ASCE Journal of Computing in Civil Engineering, 2015.
-
De la Garza, J., Roca, I., Sparrow, J. Visualization of failed highway assets through geocoded pictures in google earth and google maps. In Proceeding, CIB W078 27th International Conference on Applications of IT in the AEC Industry, 2010.
-
Hoferlin, B., Zimmermann, K. Towards reliable traffic sign recognition. In Intelligent Vehicles Symposium, 2009 IEEE, pp. 324–329.
-
Jahangiri, A., Rakha, H. Developing a Support Vector Machine (SVM) classifier for transportation mode identification by using mobile phone sensor data. Washington: Transportation Research Board 93rd Annual Meeting, 2014, p.14-42.
-
Jalayer, M., Gong, J., Zhou, H., Grinter, M. Evaluation of remote-sensing technologies for collecting roadside feature data to support highway safety manual implementation. Washington: Transportation Research Board 92nd Annual Meeting, 2013.
-
Mathias, M., Timofte, R, Benenson, R., Van Gool, L. Traffic sign recognition—How far are we from the solution? In Neural Networks (IJCNN), The 2013 International Joint Conference on, pp. 1–8.
-
Pettersson, N, Petersson, L, Andersson, L The histogram feature-a resource-efficient weak classifier. In Intelligent Vehicles Symposium, 2008 IEEE, pp. 678–683.
-
Ruta, A., Li, Y., Liu, X. Towards real-time traffic sign recognition by class-specific discriminative features. In BMVC, 2007, pp. 1–10.
-
Salmen, J., Houben, S., Schlipsing, M. Google Street View images support the development of vision-based driver assistance systems. In Intelligent Vehicles Symposium (IV), 2012 IEEE, pp. 891–895.
-
Tsai, Y., Kim, P., Wang, Z. Generalized traffic sign detection model for developing a sign inventory. Journal of Computing in Civil Engineering, 23(5), pp. 266–276.
-
Стокман Дж., Шапиро, Л.Г. Компьютерное зрение / Пер. с англ. -М.:БИНОМ. Лаборатория знаний, 2006. - 752 с.
|