Почему Tesla никогда* не сделает полноценный автопилот

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

В чем проблема

Youtube потратил $100 млн и 10 лет, чтобы разработать Content ID для решения простой по своей сути задачи - сравнение видео с видео. Content ID – очень сложная и выдающаяся система, про которую мало известно, как она работает (в этой статье мы немного приоткроем завесу тайны).

Но Tesla работает над на порядки более сложной системой в той же области - области компьютерного зрения. Решение этих задач традиционными методами, то есть с помощью современных известных технологий, требует огромных человеческих и финансовых ресурсов. А в случае с Tesla перспективы кажутся совсем печальными: количество информации, которое, по идее, нужно снимать и обрабатывать камерам системы self-driving, примерно такое же, которое воспринимает человек-водитель. А это гигантское количество информации. Которую нужно обрабатывать, то есть анализировать и принимать решение.

Прощайте мечты о полноценных беспилотниках на дорогах!

На самом деле нет - благодаря нам. Сейчас все объясним.

Начнем с Content ID как с более простой и понятной системы. Точнее начнем с обзора методов идентификации видео, попробуем объяснить, какие из них использует YouTube и почему он их использует, а другие нет. А также почему потребовалось 10 лет и $100 млн и почему система не работает так, как могла бы в идеальном мире. И почему технологии компьютерного зрения уже достигли своего потолка - во всяком случае, когда речь идет о серьезных промышленных масштабах. И что со всем этим можно и нужно сделать!

План статьи

Краткий (?) обзор и сравнение методов идентификации видео:

  • Метаданные
  • Хэширование
  • Цифровой отпечаток
  • Водяной знак
  • Исскуственный интеллект, машинное обучение и гениальные капсульные сети
  • Еще более гениальная теория активного восприятия

Вывод

Метаданные

Метаданные – краткое описание, которое присваивается фото- или видеофайлу при создании. В метаданных указаны время и место создания, автор, устройство, версия программы, в которой был создан файл, длительность и формат записи и так далее. Любой может быстро проверить метаданные: через браузерный плагин InVID-WeVerify, сайт Metadata2go.com и т.д.

Метаданные легко подделать: их можно отредактировать после съемки, можно заранее установить нужную дату и время на своем девайсе, чтобы они попали в описание. Даже координаты можно подстроить: многие телефоны, потеряв сигнал GPS и телефонной сети, по умолчанию пишут в метаданных последнее известное местоположение. Наконец, данные можно просто удалить — через ExifPurge и подобные сервисы или стандартными средствами ОС.

Обойти эту уязвимость очень сложно. Чтобы считать метаданные достоверными, международная ассоциация юристов рекомендует снимать видео через специальное приложение EyeWitness to Atrocities. Оно собирает расширенные метаданные для перекрестной проверки (не только данные GPS, но и позицию относительно ближайших сетей Wi-Fi и вышек сотовой связи), шифрует их и создает резервную копию видео в защищенном облаке. Но приложением с такой защитой пользуются мало, и в абсолютном большинстве случаев метаданным нельзя полностью доверять.

Хеширование

Хеширование – это математический алгоритм, который преобразовывает массив данных — весь код видеофайла — в контрольную строку фиксированной длины из букв и цифр. Она и называется хешем. Специальные алгоритмы рассчитывают 40-значные хеши в 16-ричной системе счисления, и количество возможных вариантов с большим запасом хватит, чтобы закодировать все уникальные видео на свете. Проверить значение хеша очень легко с помощью специальных программ или встроенных функций в ОС.

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

Подробней про хеширование можете почитать, например, в корпоративном блоге Kaspersky.

Цифровой отпечаток или Fingerprint

Технология цифровых отпечатков, не внося изменения в сам видеофайл, определяет характерные компоненты видео (ключевые признаки), по которым можно сравнить его с копиями и оценить, вносились ли в них изменения. Одни алгоритмы оценивают разницу шумов на видео, другие — изменение интенсивности изображения в последовательных видеокадрах и так далее. Если цифровой отпечаток устойчивый к различного рода шумам и искажениям (зуму, кроппу, обесцвечиванию и т.д.), то есть если он более или менее верно снял ключевые признаки видео, то он будет довольно эффективным в решении задачи “поискать похожее видео”. Ютюб взял эту технологию на вооружение.

Но что такое с точки зрения технологии два похожих видео? Возьмем, например, двухчасовой фильм. И возьмем копию этого фильма, но уже длиной 118 минут. Эти видео похожи? С человеческой точки зрения - безусловно. А с точки зрения метаданных и хеширования, как мы уже поняли - нет. А если взять из этого фильма несколько кусочков, длиной 1, 2, 3 или 20 минут? Как с помощью технологий цифрового отпечатка понять, из какого конкретно фильма эти отрезки?

Вы когда-нибудь спрашивали себя, почему на YouTube так много видео с короткими эпизодами из фильмов? (Кажется мы стали задавать слишком много вопросов. Третий подряд вопрос!). Ведь у ютюба есть великий и могучий Content ID, на которую Google потратил $100 млн, и который должен на раз находить такие нарезки и блокировать их - по крайней мере, такой должна быть идеальная работа системы. Вроде бы. Но этого не происходит. Почему?

Ответы могут быть простыми. Возможно, все эти небольшие кусочки фильмов Google считает некритичным

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

и поэтому Content ID их не отслеживает. А почему он их считает некритичными? Возможно, это вынужденный взгляд на вещи. Возможно, Content ID технически не может отслеживать такие небольшие отрезки. А если бы мог, то стоил бы не $100 млн, а на порядки дороже - и это не преувеличение. Так что Google, с его доступом к бесконечному финансовому потоку, принял решение считать эти небольшие отрезки некритичными. Google не смог найти экономически эффективное решение, которое могло бы блокировать все эти бесконечные нарезки эпизодов из фильмов. Из которых, между прочим, при желании можно собрать целый фильм.

Водяные знаки или Watermark

В отличие от цифрового отпечатка, водяной знак (watermark, и для удобства мы будем называть его в том числе по-русски “ватермарк” и спрягать, как хотим) — это дополнительная информация, которую вносят в видеофайл. Фактически, это программный код, который так или иначе изменяет/искажает информацию в видеофайле. Типичный пример — логотип телеканала на снятом для него видеоролике.

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

Кстати, такие водяные знаки прекрасно подходят для задачи, на решение которой Google потратил $100 млн и продолжает тратить еще. Но есть нюансы.


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

Допустим, вы - Disney, и вы наносите свой ватермарк на ваш фильм – закрашиваете в каких-то кадрах несколько пикселей определенным цветом, и затем отдаете его китайскому кабельному ТВ. Китайское кабельное ТВ наносит свой китайский ватермарк, чтобы отдать фильм локальным кабельщикам.

Зачем они наносят свой ватермарк? Чтобы считывать ваш диснеевский водяной знак, нужно специальное оборудование. Но у наших китайцев уже есть свое, которое считывает их собственный ватермарк. Поэтому им проще нанести его, а не закупать под каждого производителя и дистрибьютора новое оборудование для их водяных знаков. Локальные кабельщики могут нанести свои ватермарки. Их могут наносить и третьи стороны, например, аудиторы. Скорее всего, все эти ватермарки довольно скоро начнут накладываться друг на друга и мешать идентифицировать видео.

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

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

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

Но с видео обратная история: есть видео без ватермарка, пираты могут нанести свой ватермарк, пираты пиратов - свой, и так далее. Или, допустим, все тому же Китаю по каким-то причинам наплевать, что китайские пираты украли “Аватар 2”, но китайскому ТВ не наплевать, что этот фильм хотят показать по трем тысячам или сколько их там китайским кабельным каналам. Поэтому китайский оператор может спокойно нанести свой ватермарк, не сообщая Disney об украденной копии.

Короче говоря, договориться об уникальном способе идентификации не представляется возможным – и потому ватермарк на сегодня не может являться эффективным способом идентификации оригинального видео и/или сравнения разных видео друг с другом.

Если бы можно было метод водяных знаков использовать в Content ID, YouTube этот метод и реализовал бы. Потому что он самый простой и недорогой:

намного проще было бы не изобретать Content ID за $100+ млн, а просто “заватермарчить” весь профессиональный контент.

Но по каким-то причинам этого не сделано, а изобретен Content ID, сложная технология с разными методами идентификации видео. Либо, по мнению YouTube, технологически это все-таки оказалось невозможно, либо рынок не стал поворачиваться к нему лицом и не отдал ему свои математические алгоритмы для определения своих водяных знаков.

AI, ML и капсульные нейронные сети

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

Чтобы с помощью искусственного интеллекта идентифицировать видео, этот ИИ сначала нужно обучить на библиотеке видео. Как думаете, какой размер библиотеки видео на YouTube, на которой нужно обучить ИИ, чтобы с помощью него решать задачу идентификации видео? И сколько бы лет заняло это обучение? И какие ресурсы для этого нужны?

Руку помощи протягивают капсульные нейронные сети Хинтона. CapsNet– возможно, следующая ступень развития ИИ. Капсульные нейросети учитывают пространственную иерархию между простыми и сложными объектами подобно тому, как это делает мозг человека.

Также капсульная нейросеть лучше распознает объекты, которые меняют ракурс. Грубо говоря, она присваивает распознанному объекту — например, лицу — вектор. Когда объект перемещается по изображению, ориентация вектора меняется, а длина сохраняется. Это снижает ошибки распознавания объекта при смене ракурса на 45% по сравнению с классическими нейросетями и делает капсульные нейросети максимально эффективными для анализа изображений и видео.

Но проблемы остаются все те же. Во-первых, для обучения нейросети нужны огромные массивы данных, и оно может занять несколько лет. Поэтому многие сети развиваются под эгидой корпораций или правительственных организаций (разработки Университета Федерико II из примера выше финансирует американская DARPA). Соответственно, далеко не все есть в свободном доступе. Во-вторых, те, которые есть — как SfSNet — требуют от пользователя определенной квалификации. В-третьих, ни одна сеть не гарантирует стопроцентной точности.

Вывод (неокончательный)

Любые технологии искусственного интеллекта очень дорогие - во всяком случае, когда дело касается видео. Вряд ли Google, если бы была возможность, не решил бы все задачи стандартными методами.

Но Google не смог решить задачу в лоб: сравнить всё со всем, все видео с каждым видео.

База на 200 фильмов - для Google смешно. И на 2000 фильмов смешно - и при этом очень трудоемко, а на 20 тыс. тем более. Скорее всего, в Google попробовали поработать с небольшими библиотеками. Но когда речь зашла о других порядках - о сотнях тысячах и даже миллионах видео - тема встала. Либо не смогли, либо требовался огромный, невероятный, даже для Google, вычислительный ресурс. Поэтому пришлось изобретать инновационную систему, которая на самом деле призвана решать довольно простые задачи. Но чтобы их решить традиционными методами, понадобились огромные ресурсы: гениальные умы, больше $100 млн и десять лет.

Неужели теперь каждый раз придется привлекать подобные ресурсы, когда в промышленных масштабах необходимо будет решать задачи в области компьютерного зрения? Например, сколько Tesla уже вложила человеческих, финансовых и временных ресурсов в разработку системы self-driving? И как близко приблизилась к решению задачи?

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

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

Теория активного восприятия TAPe

Этот другой метод - TAPe, Theory of Active Perception, теория активного восприятия, которая описывает, как человеческий мозг воспринимает информацию. В основе теории - математическая модель, базирующаяся на теории групп. TAPe позволяет говорить о новом способе обработки информации, который может быть применим в совершенно разных сферах. В частности, TAPe решает любые задачи, связанные с компьютерным зрением, в том числе с идентификацией видео.

Технологии на основе TAPe могут оперировать образами, а не массивами структурно несвязных чисел (нулями и единицами), как традиционные системы. Образ — это описание на подмножестве максимально информативных связанных элементов информации (на самом деле в этом абзаце ничего сложного, просто перечитайте его еще шесть раз).

С технической точки зрения все это означает, что для создания того же Content ID на основе TAPe требуется намного меньше ресурсов, потому что TAPe априори закрывает большую часть задач Content ID. Можно даже сказать, что TAPe изначально и есть такой Content ID. Ну, как человек изначально, без специального обучения, видит, различает информацию, так и TAPe умеет это делать.

Например, TAPe использует так называемый developed fingerprint, продвинутый цифровый отпечаток, который как бы объединяет в себе еще и метаданные и хеширование. Что касается методов AI и ML, то принципы построения TAPe во многом противоречат им, но при этом позволяют системе обучаться и, обучаясь на одной задаче, решать и другие – в то время как ИИ, как правило, направлен на решение только одной задачи. А в отличии от капсульных сетей TAPe не снимает информацию с видео попиксельно: ей нужно меньше информации, чтобы снять первичные признаки с видео и затем идентифицировать его и выполнять другие задачи с видео.

Вывод (окончательный)

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

Скорее всего, та же Tesla не сможет обойтись без TAPe-технологии или аналогичной ей, по причине, о которой мы писали в самом начале: количество информации, которое по идее нужно снимать и обрабатывать камерам системы self-driving, примерно такое же, которое воспринимает человек-водитель. Мы утверждаем, что традиционными методами невозможно решить эти задачи.

Зато их можно учиться решать с помощью TAPe!

Будем держать вас в курсе.

*Если только Илон Маск не прочитает эту статью

66
58 комментариев

Заголовок - кликбейт :) уверен, что Тесла сделает полноценный автопилот, даже не сомневаюсь. У меня Тесла и я прекрасно понимаю про что говорю :)

4
Ответить

Комментарий недоступен

4
Ответить

Waymo уже больше двух лет ездит без водителя (правда, это коммерческий сектор).
Хонда год назад первой в мире сертифицировала автопилот 3-го уровня, правда пока только в Японии.
Мерседес получил междунароный сертификат 3-го уровня, заявил о принятии ответственности за аварии по вине своего автопилота.
Cadillac Super Cruise два года назад уже ездил без рук.

А вы, кстати, очередной апгрейд автопилотного железа в своей Тесле уже оплатили ?

2
Ответить

haha, classic.

Сначала делаем ничем не подкрепленные предположения:
Возможно, все эти небольшие кусочки фильмов Google считает некритичнымВозможно, это вынужденный взгляд на вещи.Возможно, Content ID технически не может отслеживать такие небольшие отрезки.

А потом на их основе все с уверенностью объясняем:
Так что Google, с его доступом к бесконечному финансовому потоку, принял решение считать эти небольшие отрезки некритичными. Google не смог найти экономически эффективное решение, которое могло бы блокировать все эти бесконечные нарезки эпизодов из фильмов.

Готово, мы великолепны.

2
Ответить

Комментарий недоступен

1
Ответить

спасибо за коммент, мы в процессе ответа написали целую статью. в итоге мы решили, что статью мы действительно напишем и попробуем ответить в том числе на ваш комментарий подробно, а здесь кратко:

На самом деле существующие методы обработки информации, в том числе в компьютерном зрении, очень далеко ушли от эффективных методов обработки. Разработчики микропроцессоров пришли к экстенсивным методам увеличения мощности, качество поменяв на количеество. В итоге решение серьезных задач становится очень дорогим: требуется все большее число ресурсов, при этом техпроцесс в микроэлектронике достиг уже физических пределов, там возможности уже практически исчерпаны (об этом исчерпывающая статья на хабре в двух частях https://habr.com/ru/post/456298/). Посмотрите, как Tesla Vision "видит" сейчас: это черно-белые контуры окружающей реальности (https://electrek.co/2021/07/07/hacker-tesla-full-self-drivings-vision-depth-perception-neural-net-can-see/). До реально работающей FSD (full self-driving) еще очень далеко, и существующими, традиционными методами достичь такой системы невозможно. Зато возможно с помощью TAPe

1
Ответить

Осталось раскрыть почему еще нет десятков MVP на этой технологии.

1
Ответить