ВВЕДЕНИЕ 5
1 ОБЗОР СУЩЕСТВУЮЩИХ ПОДХОДОВ К РАСПОЗНАВАНИЮ ДОРОЖНОЙ РАЗМЕТКИ 7
1.1 ОБЩАЯ ПРОЦЕДУРА ОПРЕДЕЛЕНИЯ ДОРОЖНОЙ РАЗМЕТКИ 7
1.2 ТРАДИЦИОННЫЕ АЛГОРИТМЫ РАСПОЗНАВАНИЯ, ОСНОВАННЫЕ НА ОБРАБОТКЕ ИЗОБРАЖЕНИЯ 8
1.3 АЛГОРИТМЫ РАСПОЗНАВАНИЯ, ОСНОВАННЫЕ НА МАШИННОМ ОБУЧЕНИИ 12
2 АЛГОРИТМ РАСПОЗНАВАНИЯ ДОРОЖНОЙ РАЗМЕТКИ 16
2.1 ОБЩЕЕ ОПИСАНИЕ АЛГОРИТМА 16
2.2 ПРЕДОБРАБОТКА ИЗОБРАЖЕНИЯ 18
2.3 РАСПОЗНАВАНИЕ РАЗМЕТКИ 26
2.4 ВЫЧИСЛЕНИЕ ПОЛОЖЕНИЯ КАМЕРЫ ОТНОСИТЕЛЬНО ПОЛОСЫ ДВИЖЕНИЯ 37
3 ПРОГРАММНЫЙ МОДУЛЬ РАСПОЗНАВАНИЯ РАЗМЕТКИ 42
3.1 ОПИСАНИЕ ПРОГРАММНОГО МОДУЛЯ 42
3.2 ТЕСТИРОВАНИЕ ПРОГРАММНОГО МОДУЛЯ 44
ЗАКЛЮЧЕНИЕ 49
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 50
ПРИЛОЖЕНИЕ
Причиной многих дорожно-транспортных происшествий являются человеческие ошибки, такие как невнимательность, отвлечение и несоблюдение правил дорожного движения [1]. Множество кампаний и исследовательских институтов предлагают свои методы улучшения безопасности вождения и уменьшения количества дорожных происшествий. Среди этих методов жизненно важную роль играют восприятие дороги и обнаружение полос движения, которые помогают водителям избежать
ошибок. Обнаружение полос движения лежит в основе множества расширенных систем поддержки водителя (ADAS), таких как система предупреждения о сходе с полосы и система помощи движению по полосе [2] [3].
Некоторые успешные производители ADAS и автомобилей (например,
Mobileye, BMW, Tesla и др.) разработали собственные продукты для обнаружения и
отслеживания полос разметки и достигли значительных успехов как в исследованиях,
так и в реальном применении своих разработок. Причём эти продукты применяются
не только для помощи водителю, но и для автономного движения автомобилей.
Почти все современные продукты, связанные с обнаружением разметки, используют методы, основанные на зрении, так как полосы движения на дороге обозначаются с помощью разметки, предназначенной для визуального восприятия водителями. Использование визуальных методов позволяет обнаружить разметку с помощью видеокамер и не допустить непреднамеренной смены полосы движения водителем. Следовательно, точность и надёжность являются двумя наиболее важными свойствами систем обнаружения дорожной разметки.
Разработки в области распознавания дорожной разметки активно ведутся с
80-ых годов прошлого века [4] и на данный момент количество научных публикаций
на эту тему исчисляется тысячами и с каждым годом их количество возрастает: за
последние 5 лет количество публикаций на эту тематику за год, индексированных в
базе Web of Science, возросло со 110 до 170. Этот факт подтверждает важность и актуальность данной темы. Но, несмотря на огромное количество публикаций, до сих
пор не существует универсальных методов оценки алгоритмов распознавания: каж6
дый исследователь реализует алгоритм распознавания на своей аппаратной платформе, а для тестирования использует собственные исходные данные. Поэтому зачастую невозможно однозначно определить какая из двух систем распознавания лучше
по точности, надёжности или быстродействию. Поэтому единственный способ сравнения работы двух алгоритмов распознавания – это их реализация на одинаковом аппаратном обеспечении и тестирование с одними и теми же исходными данными, что
требует значительных трудозатрат.
Но невозможность сравнить два алгоритма распознавания целиком не означает,
что нельзя сравнивать их части. Задача распознавания дорожной разметки является
довольно сложной, поэтому она разбивается на несколько подзадач, для решения каждой из которых применяются свои методы. Какие-то методы могут применяться не
только для процесса распознавания разметки, но и для других задач, поэтому они зачастую бывают обобщёнными и могут не учитывать специфики конкретной задачи.
Поэтому многие исследователи в своих работах предлагают свою комбинацию используемых методов, среди которых могут быть как оригинальные разработки, так и
улучшение наработок предшественников.
Данная работа не является исключением и в ней предлагается новый алгоритм
распознавания полос разметки по потоку видеоданных в режиме реального времени,
который реализован в виде программного модуля. Основные требования к алгоритму:
высокое быстродействие для применения в системах реального времени и возможность определения положения камеры относительно полос разметки. В первой главе
проведён обзор существующих алгоритмов и методов, используемых при распознавании разметки. Вторая глава посвящена описанию разработанного алгоритма распознавания. Реализация алгоритма в виде программного модуля и его тестирование описаны в третьей, завершающей главе.
В ходе работы был успешно разработан новый алгоритм распознавания дорожной разметки по потоку видеоданных, который позволяет вычислять положение камеры относительно текущей полосы движения автомобиля. Алгоритм предназначен
для распознавания разметки в первую очередь в загородных условиях, когда полосы
движения обозначены разметкой с обеих сторон. Алгоритм распознавания одинаково
хорошо справляется и со сплошными, и с прерывистыми линиями разметки.
Алгоритм распознавания разметки был реализован в виде программного модуля, который определяет положение камеры по видеозаписи движения автомобиля.
В ходе тестирования программного модуля подтвердилось, что разработанный алгоритм позволяет распознавать разметку в режиме реального времени за счёт высокой
скорости обработки изображения, в несколько раз превышающей скорость видеозаписи.
Тестирование показало, что точность распознавания зависит от дорожных условий: наличие большого количества теней на дороге и дополнительных элементов разметки приводит к ошибкам распознавания. Но общая доля ложных распознаваний невелика, причём возможно повышение надёжности распознавания за счёт добавления
в алгоритм распознавания методов слежения, например, фильтра Калмана.
Принципиальным недостатком алгоритма является небольшое запаздывание
обнаруженного алгоритмом положения разметки от её фактического при маневрировании автомобиля. Поэтому при необходимости использования точной информации
о положения автомобиля на дороге, данные, полученные модулем распознавания,
должны быть скорректированы в соответствии с информацией о скорости и положением руля автомобиля.
В дальнейшем планируется интегрировать программный модуль с системой автоматического управления автомобилем для осуществления двустороннего информационного обмена. Модуль распознавания будет использовать информацию о движении для более тонкой настройки параметров алгоритма и коррекции выходных данных. Система управления будет использовать информацию о разметке для корректировки курса движения.