Способ обнаружения дорожной полосы
ROAD LANE DETECTION METHOD

Настоящее изобретение относится к области вычислительной техники, может быть применено в автоматизированных системах управления беспилотными транспортными средствами или в продвинутых системах помощи водителю (advanced driver assistant system, ADAS) для  определения положения транспортного средства относительно дорожной полосы и предназначено для определения/предотвращения схода транспортного средства с дорожной полосы.
Существует множество различных способов обнаружения дорожной полосы, распознавания дорожной разметки с локализацией транспортного средства относительно нее. Большинство из них используют данные, полученные с видеокамеры, установленной на автомобиле, и основаны на способах из области классического компьютерного зрения [Takialddin Al Smadi, «Real-Time Lane Detection for Driver Assistance System», ISSN Online 2153-1293, Circuits and Systems, 2014, 5, 201-207]. Подобные способы основаны на данных, полученных с помощью одного способа обнаружения дорожной полосы, но в условиях заснеженной дороги, при сильном износе дорожной разметки или вовсе ее отсутствии, они неработоспособны. Некоторые способы обеспечивают приемлемую для задач автономного вождения точность, но требуют существенных вычислительных мощностей. А для их работы в реальном времени необходимо опираться на динамическую модель транспортного средства, разработка которой – довольно сложный процесс. Альтернативой является использование нейронных сетей [«Robust Lane Detection from Continuous Driving Scenes Using Deep Neural Network», Qin Zou, Hanwen Jiang, Qiyu Dai, Yuanhao Yue, Long Chen, and Qian Wang, 29.04.2020, arXiv 1903.02193v2 [cs.CV]], генерирующих бинарную маску для полосы, по которой движется транспортное средство. Данный способ более устойчив к различным внешним факторам, но главным его недостатком является то, что при отсутствии в обучающей выборке данных, собранных в условиях, похожих на те, в которых находится транспортное средство в данный момент времени, способ не дает удовлетворительного результата. Такие способы также требуют существенных вычислительных мощностей.
Известно, что использование алгоритма сверточной нейронной сети при работе не дает сбой, но уступает в производительности алгоритму обнаружения дорожной полосы, так как на высокой скорости движения транспортного средства сверточная нейронная сеть может обрабатывать изображение с запозданием или иногда выдавать на изображении «шумы» и «выбросы». Это происходит из-за того, что сверточные нейронные сеть всегда обучаются на определенном участке дороги, на определенном наборе изображений, существенно отличающихся от изображений, получаемых алгоритмом при работе в настоящий момент времени.
Наиболее распространенным применяемым способом для обнаружения дорожной полосы является преобразование Хафа. Данный способ заключается в следующем: производится проверка качества параметров путем определения количества пикселей (точек), удовлетворяющих текущим параметрам.
Известны системы и способы, основанные на использовании преобразования Хафа для обнаружения дорожной полосы.
Система определения фактических параметров проезжей части, RU2683618, приоритет 21.12.2017г. позволяет сформировать виртуальную дорожную сцену при отсутствии достоверно распознаваемой дорожной разметки, используя преобразование Хафа.
Система и способ, (патент Китая CN104029680, «Lane departure warning system and method based on monocular camera», приоритет 02.01.2014г.) использует преобразование Хафа как способ определения дорожной полосы.
В системе (патент Китая CN108438004, «Lane departure warning system based on monocular vision», приоритет 05.03.2018г.) также применяется преобразование Хафа для поиска и обнаружения дорожной разметки.
Преобразование Хафа довольно просто в применении, имеет хорошую производительность при движении на высокой скорости транспортного средства, однако, являясь линейным преобразованием, оно служит для обнаружения прямых линий, потому имеет ограничение в применении при движении транспортного средства по извилистой дороге, а также является неработоспособным при отсутствии или плохом качестве дорожной разметки.
Наиболее близким техническим решением является способ и система раннего предупреждения о выезде с полосы движения на основе искусственного интеллекта (патент Китая CN108297867, «Lane departure early-warning method and system based on artificial intelligence», приоритет 11.02.2018 г.). Способ раннего предупреждения содержит этапы, на которых обрабатываются видеоданные полосы движения и предварительно сохраненные данные линии полосы движения на основе технологии глубинного обучения и получается модель линии полосы движения; извлекаются последовательные изображения кадра в видеоизображении сцены; разрешенные линии полос на изображениях кадров извлекаются с помощью модели линий полос; трехмерные координаты линий разрешенных полос движения получаются через трехмерную систему координат, а предел безопасности планируется в соответствии с трехмерными координатами линий разрешенных полос движения; и когда расстояние отъезда транспортного средства превышает предел безопасности, выдается сигнал тревоги. Основным недостатком такого решения является использование для обнаружения дорожной полосы алгоритмов глубокого машинного обучения, которые требуют значительных вычислительных ресурсов, поэтому ограничивают применение способа при скорости транспортного средства более 60-70 км/ч.
Вышеупомянутые технические решения либо основаны на применении способов,  обладающих высокой производительностью в ущерб точности и вероятности обнаружения, либо основаны на способах глубокого машинного обучения, позволяющих обнаружить заданные объекты с высокой вероятностью в ущерб производительности и скорости принятия решений.
Согласно заявляемому изобретению, предлагается новый способ обнаружения дорожной полосы, свободный от упомянутых недостатков и обладающий рядом преимуществ по сравнению с известными аналогами.
Техническим результатом предлагаемого способа является улучшение качества обнаружения и распознавания дорожной полосы, увеличение точности определения смещения транспортного средства, увеличение производительности и скорости обработки изображения, снижение зависимости работы способа от внешних факторов.
Технический результат достигается тем, что в способе обнаружения дорожной полосы, включающем получение изображения участка дорожной полосы и его обработку одновременно с использованием сверточной нейронной сети и с использованием алгоритма обнаружения дорожной разметки, после этого для двух промежуточных изображений, полученных в результате обработки, параллельно генерируются маски, выполняется взвешенное сложение масок попиксельно и преобразование в вид сверху, формируя итоговую маску, далее выполняется преобразование координат пикселей итоговой маски из системы координат изображения в систему координат транспортного средства, после каждому пикселю итоговой маски присваивается весовой коэффициент, который определяется яркостью соответствующего пикселя, далее полученные пиксели итоговой маски аппроксимируются в полином, определяющий линию середины дорожной полосы, и вычисляется отклонение положения транспортного средства относительно середины дорожной полосы.
Кроме того допустимо, что набор коэффициентов аппроксимируют полиномом, определяющим смещение середины полосы относительно транспортного средства, и при смещении на заданную величину срабатывает устройство оповещения водителя или информационный сигнал поступает в блок управления беспилотного транспортного средства.
Сущность изобретения показана на фигурах.
На Фиг. 1 показана блок-схема осуществления способа в соответствии с предлагаемым изобретением.
На Фиг. 2 приведено исходное изображение дорожной полосы с разметкой.
На Фиг. 3 показана визуализация работы алгоритма с использованием сверточной нейронной сети.
На Фиг. 4 показана визуализация работы алгоритма с использованием обнаружения дорожной разметки.
На Фиг. 5 показана визуализация генерации маски после обработки изображения сверточной нейросетью.
На Фиг. 6 показана визуализация генерации маски после обработки изображения алгоритмом обнаружения разметки.
На Фиг. 7 показано формирование итоговой маски после взвешенного сложения масок, обработанных параллельно двумя алгоритмами и преобразования координат полученной маски в «вид сверху».
На Фиг. 8 показано взаимное расположение осей координат изображения и транспортного средства.
На Фиг. 9 показана визуализация аппроксимации полосы в полином в системе координат транспортного средства.
Способ обнаружения дорожной полосы, включающий захват видеоизображения и его обработку вычислительным блоком, осуществляется с помощью установки в транспортное средство оптической системы, соединенной с вычислительным блоком, снабженным модулем высокой производительности, например, Nvidia Jetson AGX Xavier.
Представленный схемой на фиг. 1 способ обнаружения дорожной полосы работает следующим образом.
С помощью устройства захвата видеоизображения вычислительный блок непрерывно получает изображения участка дорожной полосы и каждое полученное изображение одновременно (параллельно) обрабатывается при помощи сверточной нейронной сети, например, нейронной сети LinkNet (результат обработки  представлен на фиг. 3), и алгоритмом с использованием обнаружения дорожной разметки (результат обработки  представлен на фиг. 4), в котором может использоваться фильтр Кэнни для обнаружения и выделения контуров границ на изображении, характеризующихся перепадом яркости на разных частях изображения и преобразование Хафа для обнаружения прямых линий, позволяющее обнаружить линии границ дорожной полосы и дорожной разметки.
После обработки для двух промежуточных изображений параллельно генерируются маски (бинаризированные изображения), на которых отмечена область обнаруженной дорожной полосы (фиг. 5 и фиг. 6, соответственно). Затем, полученные маски взвешенно складываются попиксельно, выполняется преобразование полученной маски в «вид сверху», формируя итоговую маску (фиг. 7). Для обеспечения совмещения систем отсчета изображений и транспортного средства выполняется преобразование координат итоговой маски из системы координат изображения в систему координат транспортного средства (фиг. 8).
После преобразования координат пикселей итоговой маски, каждому пикселю полученной маски присваиваются весовые коэффициенты, которые определяется яркостью соответствующего пикселя: пиксели, определенные как «дорожная полоса» обоими алгоритмами, имеют наибольший вес, определенные как «дорожная полоса» только одним из двух алгоритмов имеют меньший вес, не определенные как «дорожная полоса» ни одним из алгоритмов имеют нулевой вес.
3
2
Далее  полученные пиксели с учетом их весовых коэффициентов аппроксимируются методом взвешенных наименьших квадратов в полином 3-ей степени, который задается уравнением вида Y(X) = aX + bX + cX + d (где X, Y — координаты пикселей (точек) линии середины дорожной полосы; a, b, c, d — коэффициенты, рассчитанные взвешенным методом наименьших квадратов). Далее выполняется определение уравнения линии середины дорожной полосы (фиг. 9). Смещение транспортного средства относительно середины дорожной полосы численно соответствует значению Y(0) = d, где d – коэффициент уравнения линии середины полосы, который также равен величине смещения.
При отклонении положения транспортного средства относительно середины дорожной полосы на заданную величину данные об отклонении поступают в сигнальное устройство оповещения водителя, например, звуковое, а в случае с беспилотным транспортным средством, данные об отклонении поступают в блок управления беспилотного транспортного средства для дальнейшего принятия решения.
При определении смещения транспортного средства на дорожной полосе с отсутствием дорожной разметки, весовые коэффициенты алгоритма обнаружения дорожной разметки на результат аппроксимации не влияют, так как весовые коэффициенты, полученные таким алгоритмом, имеют наименьшее значение.
При определении смещения транспортного средства, при наличии дорожной разметки, на скорости более 60 км/ч сверточная нейронная сеть будет выдавать данные с некоторым запозданием, однако одновременная (параллельная) обработка изображения алгоритмом обнаружения дорожной разметки позволяет компенсировать этот недостаток и работа нейронной  не оказывает влияние на  скорость обработки данных.
Предлагаемый способ позволяет улучшить качество обнаружения и распознаваемости дорожной полосы за счет за счет одновременной (параллельной) обработки изображений двумя алгоритмами. Увеличить точность определения смещения транспортного средства за счет использования сверточной нейронной сети, которая позволяет обеспечивать корректную работу способа при отсутствии дорожной разметки и на участках, характеризующихся определенной кривизной, например, на поворотах (извилистой дороге). Увеличить производительность и скорость обработки изображения за счет применения алгоритма обнаружения разметки при движении транспортного средства на высокой скорости, и снизить зависимость работы способа от внешних факторов. Также сочетание двух алгоритмов позволяет исключить влияние «шумов», сопутствующих работе нейронной сети.