Как стать автором
Обновить

Комментарии 67

Я догадался кто такой Илон, но не понятно кто Андрей. )


Считаю в Тесла выбрали абсолютно правильный подход, полагаться на машинное зрение а не лидары, GPS и проч. технологии. Я б ещё даже добавил микрофоны, по звуку можно определить (с определённой вероятностью) тип и качество покрытия например, выбоины, лужи и т.п. Или когда правое колесо съезжает с на обочину. Или удар в бампер.


Учитывая важность зрительной информации, как Тесла чистит свои камеры, и как определяет пятна загрязнений? Водитель пользуется дворниками, в крайнем случае остановит авто и почистит стекла. А что делает автопилот? Отключается?

Тип, качество покрытия и т.п. от датчиков ускорения понять можно. Под одному на каждое колесо + энкодеры вращения колес и будет полное понимание где какое колесо как едет/скользит
А если датчики заглючат? А если соседняя машина подаёт сигнал? В Индии водители когда хотят пойти на обгон — гудят в клаксон. Опытный водитель по звуку определяет конкретную неисправность. Так что ещё один канал дорожной информации (звуковой) не был бы лишним.

Ещё вопрос вспомнил: как Тесла справляется с левосторонним движением? Держат ли они отдельные НС на оба вида движения?
А если датчики заглючат? А если соседняя машина подаёт сигнал?


Обязательно когда-нибудь заглючат. Это ж техника и вероятности на больших числах работают весьма предсказуемо — какому-то 1 водиле из 1 000 000 однажды не повезёт.

Что касается Индии — ну, Тесла же не может и не обязана учитывать специфику вождения и ПДД каждого региона. У нас вон вообще чулками стопаки и поворотники тонируют, а наносить разметку считают зашкваром — как с этим Тесле решать вопрос?
Вообще чужой клаксон довольно важная штука. Он резко привлекает внимание водителя, и по крайней мере сообщает о нестандартной ситуации. Часто помогает предотвратить ДТП. И это прописано в ПДД всех стран.
Не использовать микрофоны не очень умно, как минимум до того пока на дороге остаются живые водители.
Глухонемые ездят не полагаясь на слух и автопилот сможет. В хорошей машине такая звукоизоляция, что шум колес все равно не услышишь.
Добавил представление докладчика.

В презентации и среди вопросов не было про загрязнение камер. Я думаю, это сравнительно не сложная задача. Если камеры засыпало снегом на парковке — машина может просто отказаться ехать и попросить очистить их. Если загрязнение происходит на ходу, наверное, в зависимости от того насколько все плохо, машина может выдавать предупреждения, переходить в более осторожный режим вождения и предлагать съехать на заправку для очистки. В критической ситуации — производить аварийную остановку.
Или дворники
Меня давно мучает один вопрос: почему нет никакой связи автопилот->водитель?
Почему например не поставить небольшой экран с изображением будущей траектории машины, и информацией про разгон/торможение?
Т.е. мне например было бы удобней быть в курсе, ну или иметь возможность узнать что машина собирается делать.
Или это никому не интересно/не надо?
Кое-какая связь все же есть. Отображаются участники и полосы движения. С недавним обновлением Navigate on Autopilot стали отображаться предложения перестроиться с траекториями:

Интересно каково им писать софт зная, что точно из-за твоей ошибки софт убьет кого-нибудь (возможно и меньше чем если бы водитель сам вел машину, но в том то случае ответственность на водителе, а тут именно ошибка разработчика).

Странно что для построения карты расстояний по нескольким камерам и кадрам они используют нейросеть, а не какой-нибудь специальный алгоритм под эту задачу.

Ошибка сети не означает ошибку разработчика. Это может быть ошибка аннотатора или уникальная ситуация, к которой нейросеть не готова.

Уникальные ситуации тоже разные бывают, и иногда это все же вина разработчика что он их не учел. Примеры аварий с автопилотами теслы как раз похожи на эти случаи, то не ожидали что автомобиль белого цвета может находиться поперек дороги, то отбойник был какой-то не такой.
Примеры аварий с автопилотами теслы как раз похожи на эти случаи, то не ожидали что автомобиль белого цвета может находиться поперек дороги, то отбойник был какой-то не такой.

По этой причине не используется алгоритм, а применяют нейросеть.
По этой причине в тексте указали, что в процентах (99,9999) последние девятки (уникальные ситуации) учесть будет сложнее всего.

Интересно каково им писать софт зная, что точно из-за твоей ошибки софт убьет кого-нибудь

Представьте, каково будет человеку, если благодаря его работе разобьется, условно, 10 человек, а не 100.
Когда автопилот будет готов с надежностью 99.9999% никто о таком даже думать не будет
Интересно, сколько трафика потребляет автомобиль Tesla за месяц?
… на карте во время презентации у них были помечены дороги Китая,
вот что действительно интересно — как им удается забирать данные оттуда?
Тема частично затронута в вопросах из зала, но чисел не озвучено.
Благодаря мощному железу, передают сжатые данные, только ту их часть, которая важна для обучения и только тогда, когда сработало условие для отправки.
Еще Илон в двух словах упомянул большую программу в Tesla под названием «Доджо». Это мощный суперкомпьютер для тренировки нейросетей. Он сможет обрабатывать громадный объем сырых видео данных для обучения без учителя.
Нейронная сеть всегда имеет право на ошибку. Значит создать полностью автономный автопилот так не получится. Для того, чтобы спокойно уснуть в автономно двигающейся машине вместе со своими детьми все равно нужен простой и жесткий классический алгоритм, который будет гарантированно избегать столкновений или минимизировать удар. А такой алгоритм проще сделать на основании информации лидара.

Человек тоже. А значит нельзя спокойно уснуть в машине, которую ведёт белковый водитель.


Как работают простые и жёсткие классические алгоритмы, мы видим на примерах аварий самолётов. Любой классический алгоритм имеет право на ошибку, например из-за железа.

Профессиональные водители при нормальных условиях работы крайне редко совершают явные фатальные ошибки. Для того, чтобы автопилот стал стандартом, он должен быть как минимум на порядок безопаснее водителя, лучше если на несколько порядков. Не факт, что такого результата реально сейчас добиться на нейронных сетях. Может и добьются, сложно сказать. Классический алгоритм хорош предсказуемостью, например, в качестве последнего слова, когда нейронная сеть начала чудить.

Очень просто определить ситуации, когда НС начинает чудить: когда на основе полученных данных в какой-то момент времени она выдает 2 или несколько вариантов дорожной обстановки. Тогда надо притормаживать и передать управление водителю.

Я писал про полностью автономный автопилот.
он должен быть как минимум на порядок безопаснее водителя

А при чем тут профессиональные водители из первого предложения?

Чистая психология, довольно иррациональная. Если я сам везу своих детей, они средне-статистически в страшной опасности, но все в моих руках и поэтому я не беспокоюсь, а если беспокоюсь, еду медленнее или внимательнее. Если нас везет профессиональный водитель то я не знаю кто он такой, но знаю что вероятность погибнуть ничтожна, считаю что могу ему доверять и опять не беспокоюсь. Если мне предложат черную коробку, которая с вероятностью один на миллион врежется в ограждение на скорости 120 из за какой-то сложной особенности нейронной сети, которую потом никто даже не сможет разобрать, то это участие в русской рулетке психологически будет трудно принять. Для того, чтобы преодолеть эту психологическую преграду нужен какой-то бонус: кардинальная лучшая безопасность по сравнению с любыми живыми вариантами водителей.

Это нужно, что бы приняли именно вы. Но это не обязательно. На первом этапе достаточно, что бы приняли пара процентов населения, что бы был спрос. Всё равно сделать автомобилей на весь мир за год ну удастся, а значит и принятие всеми первые несколько лет не нужно. Достаточно разрешения от властей и отсутствие массовых протестов (если вдруг люди массово будут против, тогда внедрение отложится)


А надёжность классического алгоритма низка по причине наличия миллиона разных ситуаций. Для одной ситуации у вас алгоритм надёжен, но прописать миллион — не выйдет. С сетями это намного проще, а значит выше шансы, что он хоть как-то сработает (например, угробит автомобиль, но спасет людей внутри).

В 3й части Маск утверждает что, хоть ему это и не очень нравится, но общество очень скоро будет требовать запретить людям водить «эти 2-тонные махины».

Возможно так будет. Но не в первый год. В первый год таких автомобилей будет мало, доступны они будут немногим (как и сейчас Тесла доступна немногим), требовать запрещать 99% автопарка и в голову не придёт.

От классического алгоритма в этом случае требуется решение только одной задачи: гарантированно обнаружить объект на пути и избежать опасного для жизни водителя столкновения с ним, когда это еще возможно. Кто захочет связываться с машиной, которая на ровном месте без особой причины может обнять столб потому что нейронной сети что-то померещилось? Надежная реализация подобного классического алгоритма возможна на базе лидара или достаточно совершенного радара.
Во всех других случаях, когда речь идет о качестве вождения, сложных ситуациях и статистике, то да, нейронная сеть лучше классического алгоритма. Она лучше сохранит жизнь пешеходам, лучше решит что делать если столкновение неизбежно, изящнее поведет себя на дороге при маневрах и т.д.
Вообще, это вопрос архитектуры ПО автопилота.

Вас устроит, если автомобиль будет экстренно тормозить от пакета? И устроит аварию, резко притормозив и уйдя в сторону, гарантированно не смертельную?


Необходимо не только расстояние до объекта. Нужно учитывать других участников движения и что это за объект. Человек не будет объезжать голубя ценой двух разбитых машин. А объезжать вкопанный штырь — вполне возможно, что и будет. А лидар вам не расскажет, что это за предмет.

С лидара алгоритмом можно получить информацию о том, что объект неподвижен и узнать его примерный размер. Допустим, на пути находится неподвижный объект большого размера. Допустим, нейронная сеть уверенно ведет машину прямо в этот объект на большой скорости, но при этом дорожная обстановка позволяет сбросить скорость до не фатальной или объехать объект без опасности столкнуться с чем-то еще (включая задние автомобили). Тогда алгоритм может взять на себя управление, забрав его у нейронных сетей.
Худшее что случится — машина притормозит перед большим неподвижным безобидным объектом, лежащим на дороге (я бы тоже тормозил) или спокойно его объедет.
Если нейронная сеть специально ехала в этот объект, считая его абсолютно безобидным (неподвижный большой пакет?), то притормозить все равно не помешает. Если нейронная сеть ехала в этот объект потому что это было меньшее из зол, то алгоритм тоже не найдет безопасной траектории и не станет вмешиваться: уже в любом случае все плохо, пусть решение ищут алгоритмы минимизации ущерба (классические или та же нейронная сеть).
Подстраховаться от столкновений с другими автомобилями пересекающими траекторию сложнее, но тоже можно.
Реальная архитектура конечно будет намного сложнее и умнее. Написанное выше — просто пример как лидар может позволить застраховаться от причуд обученной нейронной сети.
Для ситуации которую вы описываете уже есть направленный вперед радар. В остальных направлениях машина не движется с большой скоростью и там есть ультразвуковые датчики.

Вам верно несколько раз сказали про радар. В чем преимущество лидара в этой ситуации, мне, честно говоря, не ясно. Оно есть?

Я тоже каждый раз пишу «лидар или достаточно совершенный радар». Простейший радар работает не только вперед и дает картину с гораздо меньшим разрешением.
От классического алгоритма в этом случае требуется решение только одной задачи: гарантированно обнаружить объект на пути и избежать опасного для жизни водителя столкновения с ним, когда это еще возможно. Кто захочет связываться с машиной, которая на ровном месте без особой причины может обнять столб потому что нейронной сети что-то померещилось? Надежная реализация подобного классического алгоритма возможна на базе лидара или достаточно совершенного радара.

Иррациональность ошибок нейросетей была бы важна, если бы классические алгоритмы в принципе показывали хотя бы сравнимую точность в задачах компьютерного зрения.
Если мне предложат черную коробку, которая с вероятностью один на миллион врежется в ограждение на скорости 120 из за какой-то сложной особенности нейронной сети, которую потом никто даже не сможет разобрать, то это участие в русской рулетке психологически будет трудно принять.
Я думаю, примерно так же рассуждали первые пассажиры паровозов и лифтов. Человеческая логика и мораль очень пластичны. Может оказаться, что ваши внуки вообще не будут обращать на это внимание и будут лишь усмехаться над страхами древних.
А такой алгоритм проще сделать на основании информации лидара.

Почему это? Часть ПО отвечающая за принятие решений вообще может не зависеть от части отвечающей за «зрение» (распознание, класификацию, вычисление расстояния, скорости, вектора и тп). То есть что данные с лидара, что с камер после обработки в таком случае будут приводится к одному формату.
Лидар физически меряет расстояние до точки объекта, независимо от источников освещения, фона и того какая каша из объектов перед ним. Значит информация с него надежнее чем та же информация из ПО, обрабатывающего информацию с камер. Особенно, если это ПО — тоже обученная нейронная сеть, как в статье выше. Не специалист, но думаю простых примеров можно привести много: клетки или полоски, которые непонятно как складывать с разных изображений, сливающийся с фоном предмет, ослепление камеры источником света, перемещающиеся тени создающие иллюзию предметов, очень большие однотонные стены, не помещающиеся в камеру, объекты сложной геометрической формы.
НЛО прилетело и опубликовало эту надпись здесь
Лидар не запрещает использовать и камеры тоже. Так что информации о том что это за объект станет не меньше а больше. Зато с лидаром и алгоритмом исключена ситуация, когда на пути есть объект, но ПО этого не поняло.
НЛО прилетело и опубликовало эту надпись здесь
Предсказанием поведения пешеходов в любом случае занимается нейронная сеть, работающая по данным лидара и камер одновременно.
Лидар нужен для исключения ситуаций когда нейронная сеть по камерам ничего не поняла и решила ехать прямо сквозь пешехода.
Из статьи я понял, что лидар не то что бесполезен, а избыточен в системе Тесла, где основной источник информации — видеопоток, и есть вспомогательный радар и ультразвуковые датчики. Если к каждому водителю в салон садить трезвого штурмана (не жену), то наверняка безопасность их перемещения повысится (4 глаза лучше двух). Но эффективно ли это?
Если посмотреть на результаты бенчмарка KITTI, то сегментация дороги, детектирование объектов (особенно в 3d все плохо) лучше всего sensor fusion lidar+камера. Но там лидар тоже подается на вход нейросетки. Есть разные варианты, например, спроецировать в С.К. камеры, или спроецировать в вид сверху. Есть и более интересное, например pointnet/voxelnet/итп, которые работают прямо с пространственными данными.
А кто вам сказал, что в теслах нет радаров, которые точно так же меряют расстояние, независимо от освещения?
Но по какой-то причине тесла врезалась в ограждение и подъезжала под грузовик. Не знаю, проблема в недостаточно совершенном радаре или в ПО.
Да, авария это факт. Не знаю в чем была проблема. Возможно ПО, возможно что-то с железяками случилось.
Классический алгоритм никто не сможет написать, он не сможет предусмотреть миллиарды ситуаций. А обучить сеть до достаточно высокого показателя надежности — можно. Вдобавок, перечитайте еще раз слова Маска по поводу лидара — это тупиковое решение
Что-то про заснеженные дороги — они там далеки от наших реалий.

У нас зимой, за пределами городов, часто умудряются раскатать дороги так, что там оказывается тройная колея: по крайне правой и центральной едут туда, а по крайне левой и центральной — оттуда. Когда встречаются, то кто-то или оба должны отрулить в сторонку для разъезда.
Или вовсе одна колея для туда и обратно…

Хотел бы я по такой дороге на тесле проехать и посмотреть как на ней снесет мозг ее автопилоту в при появлении встречки… :)

Но, наверное, если набрать достаточно обучающих данных, то и по такой дороге можно научить железяку ездить.

К сожалению, это больше наша проблема, а не Тесла. Не думаю, что много стран, где так (не)следят за дорогами, и в которых спрос на машины Тесла будет заметным для компании. А значит решение таких задач будет в весьма низком приоритете.

Уверен что можно обучить НС оптимальному стилю езды и по заснеженной трассе, и по бездорожью. Но будет ли Тесла этим заниматься сейчас? Как в любой задаче, на охват 80% дорожных ситуаций нужно 20% усилий. И на оставшиеся 20% — 80% усилий. Т.е. им нужно будет (условно) в 4 раза увеличить обучающую выборку, размер НС, производительность процессора и т.п.

Не верная логика. Отсеивать сложные ситуации только потому что «это не у нас» и «нас это не касается» прямой путь к провалу программы. Чем больше ситуаций и условий учитывает программа, тем меньше риск аварии/либо зависания программы. Снежные заносы, грунтовые дороги без разметки, бездорожье как таковое, автомобили, движущиеся вопреки ПДД, да хоть падающие метеориты и взрывы на трассе. Пока автопилот не научится реагировать на самые сложные, нестандартные и даже абсурдные ситуации это будет ещё сырая, недоработанная версия. Аргументация в стиле «Этот автопилот предназначен для дорог Лос-Анджелеса» бредова по своей сути и крайне опасна для пользователей.
Не верная логика.
Пока автопилот не научится реагировать на самые сложные, нестандартные и даже абсурдные ситуации это будет ещё сырая, недоработанная версия.

Т.е. это всегда будет недоработанная версия? Очевидно, что ситуации могут быть самыми разными и предусмотреть всё невозможно по определению.

Аргументация в стиле «Этот автопилот предназначен для дорог Лос-Анджелеса» бредова по своей сути и крайне опасна для пользователей.

Обычная аргументация и, конечно, абсолютно безопасна для пользователей автопилота на дорогах Лос-Анджелеса.
Т.е. это всегда будет недоработанная версия? Очевидно, что ситуации могут быть самыми разными и предусмотреть всё невозможно по определению.

Дело не в том, что предусмотреть все ситуации на дороге нельзя. Дело в том, что для разработчика продукта, от которого зависят жизни и здоровье людей просто не позволительно отмахнуться от потенциально опасной ситуации комментарием «В нашем регионе низкий шанс столкнуться с подобными обстоятельствами, потому мы не будем к ним готовиться».
Хотя бы потому, что их могут за подобное засудить. Гибель или нанесение вреда здоровью, что потенциально возможно при неполной проработке подобного ПО и риске зависания/бага, в данном случае получается явно по причине халатности разработчика…
Не важно, хотят они этим заниматься или нет, они обязаны это делать. Поэтому им и придётся:
набрать достаточно обучающих данных, и по такой дороге научить железяку ездить.
Прикольно будет, если через десят лет тесла сможет сама учить водить.
Садится такой новичок за руль, а тесла ему говорит:
— Не дрейфь, ща я тебе покажу как надо вести машину! =)
Или начинающий водитель выполнил маневр, а тесла ему говорит:
— Ты был слишком близко к другим авто при перестроении, а еще забыл включить поворотник!

Скорее, будет так: садится новичок за руль, а руля нет.

Большинство популярных статей о беспилотных автомобилях рассказывают о машинном обучении, компьютерном зрении, распознавании, данных итп. Но есть еще немаловажный и крайне пласт, который только чуть-чуть был затронут в этом докладе — планировщики и прочее.

Мы получили разметку, знаки, светофоры, других участников движения, предсказали их поведение. Что дальше? Как автомобиль планирует движение? Там применяются классические методы, машинное обучение, все вместе? Как реализуются правила дорожного движения? Вот мы распознали знак, как определить допустимое поведение?

Я немного интересовался этой темой, почитал разные научные статьи, правда, по большей части они уже старые. Разные методы, например, интерполяция траектории в виде полинома, коэффициенты которого подбираются, чтобы минимизировать некую функцию стоимости, методы поиска на графах, Rapidly Exploring Radom Trees и так далее…
Они для многих функций планировщика (перестроения, учет других участников движения) пока используют эвристики. Но сами признают что классические методы покрывают только общие случаи, и что со временем перейдут к решениям на основе машинного обучения. Как я понимаю, просто делают проект за проектом т.к. ресурсы ограничены. Доведут зрение до желаемого уровня, тогда возьмутся за планировщик и начнут гонять его через свой data engine.
Вы знаете какие-нибудь доклады/работы/etc по этой теме?
Увы нет. Вообще тема автопилота интересная, если что-то зацепит — будут еще переводы.
Короче весь автопилот это датасет -> ручная разметка -> обучение, и так на все возможные дорожные ситуации. Как по мне, такой подход мягко говоря не очень скейлится. Сложно представить сколько времени займет научить его ездить в городе, со светофорами, регулировщиками, препятствиями типа кто-то заглох и нужно объехать с заездом на встречку или тротуар.

Я бы копал в сторону полностью автономных городов где все дороги, светофоры, знаки, работы, транспортные средства занесены в компьютер и он всем управляет, такое себе GTA реальной жизни. Тогда даже светофоры не нужны так как компьютер и так будет знать о дорожной обстановке и сможет синхронизировать проезд машин через перекрестки. При таком подходе, пробки сведутся к минимуму, скорость передвижения в городе возрастет в разы.

Или переходной вариант, все ТС и людей обзавести датчиками. Данные отправляются в центральный компьютер а он управляет автономными машинами, или передает им данные об обстановке. Вышел или выехал на дорогу без датчика и был сбит автономной машиной — пинай на себя. Хотя можно встроить базовые радары для предотвращения подобных ситуаций.
весь автопилот это датасет -> ручная разметка -> обучение
Так нет же. Они наоборот делают упор на автоматическую разметку. Автоматическая разметка объектов и расстояний радаром и ультразвуковыми датчиками, автоматическая разметка перестроений (и не только) постфактум по сохраненному видео, автоматическая разметка поведением водителей-людей, self-supervision в конце концов.
И масштабирование ручной разметки заметно облегчено автоматическим поиском заданных дорожных ситуаций, не нужно просматривать миллионы км только чтобы найти там велосипеды или животных.
Пользуясь случаем, дам ссылку на канал одного британца, делающего очень качественные видео об автопилоте Теслы и подробно комментирующего происходящее. В отличие от вылизанных автобанов, он ездит по узким улочкам провинциальных городков, где безумие и непредсказуемость реального мира особенно заметно. Масла в огонь подливает отсутствие разметки и припаркованные абы как автомобили.

Такие дороги Тесле все еще не по зубам



Справедливости ради надо сказать, что в других видео машина вела себя поживее.
Выходит, что такие энтузиасты сильнее всего и развивают автопилот, молодцы.
Удивительно, как машина плохо различает людей, а также линия дороги постоянно дрожит.
Как отчетливо на карте обозначены Питер и Москва с пригородами
Карта из статьи
image
У вас будет выбор, согласны ли вы на ненулевой шанс помять крыло.
Получается, ответственность будет постоянно переключаться с автопилота на водителя и обратно? И если что — логи послужат доказательством, мол «водитель принял ответственность за возможный ущерб».

Люди пристраиваются и едут за автомобилем впереди и сеть запоминает это поведение.
Жаль, а могла бы найти более оптимальное поведение.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории