Программа взгляд
Как машины видят наш мир через радары и камерыОглядываясь в пробке по сторонам, нам кажется, что мы контролируем все происходящее, но все, что у нас есть, — это пара глаз и шмат серого вещества. А как видят окружающий мир автомобили с ассистентами вождения и автопилотом? Настало время взглянуть на него глазами робота.
Все мы смотрели фантастические фильмы и хорошо знаем, что большинство неприятностей в будущем сулят именно роботы. Это они будут мешать Эллен Рипли убить Чужого и прижмут к ногтю человечество через Skynet.
Но мы пока живем в легкомысленном настоящем и ждем не дождемся, когда они начнут прибирать за нами квартиру и возьмут на себя управление автомобилем. Ну, хотя бы на секундочку, пока мы открываем чипсы, ищем на флешке любимую песню или пишем сообщение.
Но прежде искусственный разум должен научиться хорошо видеть, анализировать и понимать происходящее вокруг.
А что для этого нужно?
Самый простой, ценный и доступный орган чувств автомобилей — камера, которая крепится у основания внутрисалонного зеркала и, что немаловажно, находится в зоне очистки дворников.
К тому же у многих современных автомобилей есть камеры кругового обзора с высоким разрешением, а это уже тот минимальный арсенал, который можно использовать и для автопилота.
Главное — идентифицировать объекты, которые попадают в поле зрения камер. Нашему мозгу и глазам потребовались миллионы лет, чтобы отточить механизм распознавания и анализа, но у компьютера этого времени нет.
Как же он это делает?
По сути, изображения с камер — это просто свет, преобразованный в пиксели и цифры, и только алгоритмы в компьютере позволяют распознавать геометрию вещей и анализировать их схожесть по набору признаков.
Достаточно заложить в память компьютера тысячи тысяч фотографий автомобилей, чтобы он умел находить похожие объекты в реальном мире. И с этой точки зрения транспортные средства оказываются гораздо проще и понятнее, чем котики и собаки.
Одетая в костюм Бетмена собака может валяться кверх ногами ни диване, вцепившись в своей хвост, и никакой компьютер никогда не догадается, что это за неизвестная науке форма жизни. Хотя человек сразу поймет, что это.
Автомобиль, как объект, в этом смысле более однозначен — это всегда набор похожих линий и очертаний. Хотя и он иногда может лежать вверх колесами. А иногда даже без них.
Еще проще распознать тривиальные линии разметки на дороге — с этого начинли все компьютерные ассистенты. Распознав разметку, система оценивает общую ширину проезжей части и определяет середину, которой следует держаться.
Сюда же добавляем более сложные объект: дорожные конусы, знаки, фонари освещения, светофоры с распознаванием включенного сигнала (если камера монохромная, в компьютер будет заложено, что верхний фонарь — красный, а нижний — зеленый). Понять можно даже жесты — ведь перекресток может регулироваться офицером полиции.
Параллельно электроника учится распознавать автомобили, мотоциклы, велосипедистов и пешеходов. Глазами компьютера это обычно выглядит как скопление разноцветных квадратов, но это, по сути, цифровые модели объектов и то место, которое они занимают. Благодаря им машина понимает, что это пространство, въезжать внутрь которого нельзя.
При этом, конечно, всегда находятся вещи, которые по тем или иным причинам остаются незамеченными. Потому что находятся слишком далеко, скрыты кустами, туманом или, например, одеты в камуфляжную одежду.
Для этого к полученной информации добавляются данные от других «органов чувств», которых нет даже у человека — мы про работающие на расстояние в сотни метров, но с узким углом покрытия, радары, использующие лазерное излучение, а также лидары и ультразвуковые датчики, которые имеют очень широкий угол покрытия,.
Еще недавно все эти штуки нужно было заказывать у производителей компонентов ракет и другого оружия за баснословные деньги, но постепенно за их выпуск взялись автомобильные поставщики. Например, фирма Continental.
Все вместе это позволяет сформировать в мозгах автомобиля простую трехмерную модель окружающего мира и то место, которое он в нем занимает. Становится понятно, куда можно ехать, а куда ни в коем случае нельзя.
При этом, обладая всеми этими данными и анализируя скорость и траекторию всех объектов, компьютер может просчитывать, что может случиться в следующий момент.
Если в ста метрах впереди в левой полосе дорога перекопана, а слева от вас сейчас едет машина, то компьютер свяжет два этих фактора. Сосед по потоку в какой-то момент обязательно попробует перестроиться, и система будет учитывать эту возможность при дальнейших маневрах.
Попробуйте уследить за шахматной доской, где все фигуры начинают ходить одновременно, — а ведь именно так выглядят некоторые перекрестки. Не все люди способны к такому анализу, но роботам это уже по силам.
Если перед нами на дорогу выезжает пьяный водитель, то человеку могут потребоваться драгоценные секунды на оценку ситуации и принятия экстренного решения. Электроника же заранее изучила каждый миллиметр асфальта, который можно использовать для торможения и маневра.
При этом ее по-прежнему легко поставить в тупик. Volvo в свое время столкнулись с непредвиденными проблемами в Нью-Йорке, когда электроника принимала за препятствие пар из решеток метрополитена, а автопилоту Google однажды преградила дорогу женщина на электрической инвалидной коляске, которая гонялась по проезжей части за уткой.
Страшный сон для уровня понимания компьютера.
В общем, для обеспечения нашего беспилотного будущего инженерам остается решить как минимум одну важную задачу — научиться создавать наиболее достоверную копию мира, где каждая деталь для автопилота будет предельно понятна и знакома. А значит, как минимум в этом роботы из будущего до поры до времени будут оставаться зависимы от нас — людей.