В дополнение к переводу истории создания и испытаний первого робомобиля.
RALPH (Rapidly Adapting Lateral Position Handler, Быстрый Обработчик Бокового Расположения), 1995 год
Введение
Ежегодно почти 15000 людей погибают в США в ДТП, в которых водитель не справляется с управлением [1]. В этих случаях водитель часто отвлекается или ему становится плохо. Система предупреждения о покидании автомобилем полосы движения могла бы предотвратить большую часть этих ДТП. Почти 70% таких происшествий случаются за городом на двухполосных дорогах без разметки. Таковая система должна работать в расчёте на то, что эти дороги в обозримом будущем не подвергнутся никаким улучшениям.
Исследование фокусируется на разработке машинного зрения, определяющего конкретные характеристики дороги и просчитывающего траекторию движения в зависимости от взаимного расположения этих характеристик. Многие системы [2][4][5][7] основаны на характеристиках вроде разметки. Другие полагаются на поиск определённых цветов [1][6] или текстур [12] на картинке.
Свойство всех этих систем – присутствие априори заданной модели того, как должна выглядеть дорога. К сожалению, дороги часто могут выглядеть по-другому. Разметка сильно зависит от типа дороги и от штата. Изменения в окружающей среде приводят к изменениям внешнего вида дорог. Смена освещения, загораживание картинки другими средствами передвижения, дождь, снег, соль, другие посторонние объекты могут сильно повлиять на внешний вид дорог. Всё это мешает работе указанных алгоритмов.
Альтернативный подход, комбинирующий машинное зрение и машинное обучение, продемонстрировал возможность преодолеть вариации внешнего вида дороги [4][8][9]. ALVINN, типичная подобная система, использует нейросеть для определения характерных особенностей конкретных дорог в конкретных условиях. Она использует полученную в процессе обучения модель для определения того, как сильно надо подправить положение машины, чтобы она осталась в полосе. Несмотря на успехи, у таких систем есть несколько проблем. Во-первых, долгий процесс адаптирования к новому типу дороги, который длится как минимум несколько минут. По стандартам машинного обучения это не слишком долгий срок, но для автономного автомобиля это слишком много. Во-вторых, процесс обучения требует участия человека в какой-либо форме. Водитель должен продемонстрировать машине, как правильно рулить, обучая её.
По-настоящему гибкая система должна:
— гибко использовать имеющиеся характеристики для определения положения автомобиля
— быстро адаптироваться к их изменению
— осуществлять адаптацию без вмешательства человека
В этой работе описывается такая система под названием RALPH.
Как работает RALPH
RALPH разбивает задачу руления на три шага:
— разбор картинки
— определение кривизны дороги
— определение бокового смещения автомобиля относительно центра полосы
Выход двух последних шагов комбинируется с командой на руление, которую можно использовать как для предупреждения о покидании полосы, так и для механического управления рулём в случае автономной езды.
Разбор картинки
картинка 1
Типичный вид дороги с точки зрения видеокамеры, смонтированной рядом с зеркалом заднего вида, представлен на картинке 1. Картинка чёрно-белая, но RALPH может обрабатывать как ч/б, так и цветные картинки, используя алгоритм улучшения контраста, описанный в [8]. Большая часть картинки не связана с вождением (панель приборов, небо, и т.п.) – эти часты удаляются, и обрабатывается только то, что находится внутри трапеции. Нижняя и верхняя границы зависят от скорости машины, обычно они находятся примерно в 20 и 70 метрах соответственно.
Горизонтальный размер трапеции – более важный параметр. Система настроена так, что его ширина в проекции на землю остаётся одинаковой. По горизонтали она охватывает ширину в 7 метров, что примерно вдвое шире стандартной полосы. Выборочный семплинг изображения приводит к получению картинки низкого разрешения в 30 х 32 пикселя, где разметка и края дороги, сходившиеся на исходном изображении, теперь выглядят параллельными.
Определение кривизны
Параллелизация свойств дороги важна для следующей части алгоритма – определения кривизны. Для этого используется стратегия «предполагай и пробуй». RALPH предполагает возможную кривизну поворота, вычитает её из имеющейся картинки и проверяет, насколько картинка «спрямилась». Процесс изображён на картинке 2. В этом примере строки изображения по-разному сдвигаются, чтобы «спрямить» кривизну дороги. У примеров слева строки сдвигаются направо, а у правых примеров – налево, при этом с разным сдвигом. При этом строки ближе к верху картинки, обозначающие наиболее удалённый участок дороги, сдвигаются дальше от центра, чем нижние строки. Размер сдвига вычисляется из геометрии камеры и тестируемой кривизны.
картинка 2
картинка 3
На картинке 2 вторая справа гипотеза лучше всех выпрямила дорогу, поэтому она становится «победителем». Определение качества спрямления объясняется картинкой 3. После сдвига строки картинки, столбцы суммируются по вертикали для создания профиля интенсивности (кривые на графике). Когда выпрямление успешно, на графиках будут наблюдаться резкие различия в тех местах, где разметка и края дороги выпрямились. Когда спрямление не удалось, график будет более плавный. Суммируя максимальные абсолютные различия между соседними столбцами, можно вычислить вариант наилучшего спрямления.
Что важно, этот алгоритм не зависит от конкретных характеристик дороги, представленных на картинке. Пока на ней присутствуют параллельные ей линии, эта техника будет определять её кривизну. Они не должны находиться в определённых местах дороги и не должны удовлетворять каким-то особенным требованиям, как в случае систем с априори заданными свойствами.
Определение бокового сдвига
Следующий шаг – определение сдвига относительно середины полосы. Это осуществляется с использованием графика (профиля) интенсивности с предыдущего шага. Этот график обозначает дорогу в компьютерной модели. Сравнив текущий график с тем, который был получен, когда машина находилась посередине полосы, можно прикинуть боковое смещение автомобиля на дороге. Это иллюстрирует картинка 4.
картинка 4
Слева – текущий график интенсивности, в середине – график, который был построен, когда машина находилась посередине. Постепенно смещая текущий график влево и вправо, система определяет сдвиг, необходимый для наиболее полного совпадения двух графиков. Размер необходимого сдвига пропорционален смещению машины относительно центра полосы.
Отметим, что как и в случае с определением искривления дороги, эта методика не требует наличия у дороги определённых свойств. Пока её внешний вид выдаёт достаточно разборчивый график интенсивности, алгоритм сможет определить необходимое смещение. На практике даже нечёткие края дороги, например изменение цвета покрытия из-за износа или пятна от масла, создают достаточно хороший график интенсивности, с которым можно работать.
Адаптация к изменяющимся условиям
Гибкость системы вытекает из простоты работы с изображением дороги через график интенсивности. При изменении дорожного покрытия необходимо поменять всего лишь график интенсивности, состоящий из 32 элементов. Для этого существует 4 различных методики.
1) Вмешательство человека, который центрирует автомобиль и затем нажимает кнопку подтверждения для создания нового графика. Менее, чем за 100 мс RALPH создаёт новый профиль и использует его как профиль по умолчанию. С этого момента система работает автономно.
2) Выбор профиля из библиотеки предварительно построенных профилей для разных типов дороги. RALPH может делать это автоматически, подыскивая график, максимально коррелирующий с текущим.
3) После выбора профиля RALPH понемногу дорабатывает его, добавляя информацию с текущего графика в этот профиль. Тогда профиль постепенно подстраивается под плавное изменение дорожных условий, например, под изменение вида дороги из-за изменения освещения.
4) Резкие изменения внешнего вида обрабатываются при помощи двойного сканирования дороги. В то время, как RALPH использует обычным манером стандартную картинку, одновременно он сканирует внешний вид участка дороги, находящегося далеко (70-100 метров) впереди. Обрабатывая вторую картинку теми же методами, RALPH подстраивается под будущий вид дороги. Кривизна дороги этих двух разных участков принимается равной.
Если вид удалённого участка слишком резко отличается от текущего, RALPH создаёт для него новый профиль. Когда автомобиль доезжает до этого нового участка, RALPH отбрасывает старый профиль интенсивности, как неподходящий, и берёт за основу новый. Это происходит примерно за 2 секунды и не требует участия человека.
Быстродействие
В экспериментах RALPH находил дорогу и рулил самостоятельно на разных типах дорог и в разных условиях. Было пройдено более 3000 миль по разным дорогам, начиная от однополосных дорожек и просёлочных дорог и заканчивая многополосными шоссе. Одним из тестовых участков стал путь длиной в 302 мили от Питсбурга до Вашингтона. 96% времени RALPH управлял авто самостоятельно. Вмешательство было необходимо, чтобы избежать съездов с автомагистрали или обогнать медленно идущие транспортные средства. Средняя скорость движения составила 57 миль в час. В другом эксперименте RALPH смог ехать со скоростью до 91 мили в час на тестовом треке.
Система устойчиво работала при ярком солнце, плотном тумане, дожде и ночью. В некоторых случаях система показала своё превосходство перед предыдущими версиями. Например, иногда яркий блеск мокрого покрытия полностью скрывал нанесённую на дорогу разметку, и тогда RALPH успешно ориентировался по следам, оставленным впереди идущими машинами. Или, когда разметка была изношена и пропадала, RALPH ориентировался по разности окраса дорожного полотна, которое было неравномерно изношено и по масляным пятнам на дороге.
Также RALPH быстро адаптировался к изменению количества полос на дороге и к изменениям внешнего вида разметки. Были успешно пройдены туннели, представляющие для автоматических систем особо сложную задачу.
На будущее
Сейчас мы разрабатываем систему, которая позволит автоматически перестраиваться между полосами, и в то же время сможет игнорировать съезды с автострады.
Планируется тестовое путешествие из Питсбурга в Лос-Анджелес, в котором RALPH будет рулить максимально возможное количество времени. Ожидаемый процент автономной езды должен составить более 95%, что продемонстрирует надёжность RALPH в качестве системы автономного контроля движения и системы предупреждения об уходе из полосы.
Ссылки
[1] Crisman, J. and Thorpe, C. (1990) «Color vision for road following». Vision and Navigation: The CMU Navlab. C. Thorpe (ed.) Kluwer Academic Publishing, Boston MA.
[2] Dickmanns, E. D., Behringer, R., Dickmanns D., Hildebrandt, T., Maurer, M., Thomanek, F., and Schielen, J., «The seeing passenger car `VaMoRs-P,'» 1994 IEEE Symposium on Intelligent Vehicles, pp. 68-73.
[3] Jochem, T., Pomerleau, D., Kumar, B. and Armstrong, J. (to appear) «PANS: A portable navigation platform». 1995 IEEE Symposium on Intelligent Vehicles.
[4] Kim, K.I., Oh, S.Y., Lee, J.S., Han, J.H., and Lee, C.N. (1993) «An autonomous land vehicle: design concept and preliminary road test results». 1993 IEEE Symposium on Intelligent Vehicles, pp. 146-151.
[5] Kluge, K. and Thorpe, C. (1992) «Representation and recovery of road geometry in YARF», 1992 IEEE Symposium on Intelligent Vehicles, pp. 114-119.
[6] Marra, M., Dunlay, T.R. and Mathis, D. (1988) «Terrain classification using texture for the ALV.» Martin Marietta Information and Communications Systems technical report 1007-10.
[7] Nashman, M. and Schneiderman, H. (1993) «Real-time visual processing for autonomous driving». 1993 IEEE Symposium on Intelligent Vehicles, pp. 373-378.
[8] Pomerleau, D. A. (1994) Neural Network Perception for Mobile Robot Guidance, Kluwer Academic Publishing, Boston MA.
[9] Rosenblum, M. and Davis, L.S. (1993) «The use of a radial basis function network for visual autonomous road following». 1993 IEEE Symposium on Intelligent Vehicles, pp. 432-439.
[10] Struck, G., Geisler, J., Laubenstein, F., Nagel, H. and Siegle, G. (1993) «Interaction between digital road map systems and trinocular autonomous driving». 1993 IEEE Symposium on Intelligent Vehicles, pp. 461-465.
[11] Want, J.S. and Knipling, R.R. (1993) SingleVehicle Roadway Departure Crashes: Problem Size Assessment and Statistical Description. National Highway Traffic Safety Administration Technical Report DTNH-22-91-C-03121.
[12] Zhang, J. and Nagel, H. (to appear) «Texture analysis and model-based road recognition for autonomous driving». To appear in Journal of Computer Vision, Graphics and Image Processing.
Автор: SLY_G