Компьютерное зрение: что нам дает и чем грозит развитие этой технологии
Компьютерное зрение помогает машинам видеть и понимать, что происходит в реальном мире. Оно лежит в основе систем дополненной реальности, беспилотных автомобилей и огромного количества других разработок. Но если такие технологии попадут не в те руки, это может привести к плохим последствиям.
Мы поговорили с Денисом Волхонским, который недавно получил Научную премию «Яндекса» имени Ильи Сегаловича за свои исследования в области трехмерного компьютерного зрения и генерации видео. Денис рассказал нам о возможностях и темных сторонах разработок в этой области.
— Расскажите, пожалуйста, о себе: откуда вы родом, какое у вас образование, почему выбрали именно эту тему для исследований и какие цели перед собой ставите в своей работе?
— Я из Москвы, окончил бакалавриат в Бауманке и магистратуру по совместной программе Вышки и Школы анализа данных «Яндекса». Сейчас получаю PhD в Сколковском институте науки и технологий. Тема моих исследований — генеративные нейронные сети. Эти нейросети не просто анализируют полученные на входе данные, а создают видео, изображения и 3D-объекты — с нуля или исходя из заданных условий.
Моя ближайшая цель — создать новые алгоритмы генерации видео. Эта технология позволяет сделать из одного кадра видеоролик-продолжение. Соответственно, наша модель должна научиться «понимать», что происходит на фотографии, и предсказывать, куда будут двигаться люди и объекты, которые присутствуют в кадре.
Технологии генерации видео быстро развиваются, так что очень важно постоянно обмениваться опытом и наработками с другими специалистами. Здорово, что, благодаря премии Сегаловича, у лауреатов есть возможность поучаствовать в международной конференции по искусственному интеллекту. Такие мероприятия помогают расширить научный кругозор и познакомиться с людьми, которые работают над сходными задачами.
— В чем заключается суть ваших исследований? Особенно интересно про генерацию видео.
— Посмотрев на движущийся объект, люди могут догадаться, где он окажется в ближайшие секунды. Моя задача — научить этому компьютер, чтобы он мог создавать видео из одного или нескольких кадров. То есть, по сути, предсказывать, что будет дальше. Эта технология в перспективе будет особенно полезна для беспилотных машин.
Сейчас уже есть нейронные сети, которые «оживляют» фотографии, заставляя людей на них говорить и улыбаться. Такие задачи также относятся к генерации видео, но их проще реализовывать, потому что человеческое лицо — достаточно предсказуемый объект для систем компьютерного зрения. Алгоритм видит, где находятся глаза, рот, нос, и понимает, как они могут двигаться.
Но можно решать и более сложные задачи. Нейросеть может создать видео из фотографий с людьми, показанными в полный рост. Например, представьте, что у нас есть кадр, на котором человек отжимается или играет в баскетбол. Модель должна предсказать движения всего его тела, мимику, колебания одежды, то есть возникает множество подзадач. Более того, когда человек отжимается или просто идет по улице, мы не видим, что находится за ним. Поэтому нейросеть должна заполнить пространство, которое было закрыто на исходной фотографии, воссоздавая фон на основе анализа соседних фрагментов. Это отдельная задача, которую также довольно сложно решить. Как и другие возможности, о которых я говорил, она относится к технологиям компьютерного зрения.
— Можно ли объяснить простыми словами, что такое компьютерное зрение? Правильно ли мы понимаем, что это, грубо говоря, способность алгоритмов определять, что именно «видят» видеокамеры или, скажем, что изображено на картинке?
— Компьютерное зрение решает задачи, объединенные общей целью: сымитировать человеческое зрение. Когда мы на что-то смотрим, у нас в голове происходит много разных процессов. Например, сейчас я вижу перед собой пешеходный переход. Во-первых, я сразу понимаю, что это переход. Во-вторых, я могу оценить, где он находится относительно моих глаз. А если бы я видел на этом пешеходном переходе человека, то мог бы предсказать, в какую сторону он будет двигаться.
Я описал три задачи, которые решает наш мозг и учится решать компьютерное зрение. Первая — идентифицировать объект. Вторая — понять, где он находится, то есть выделить его среди всего того, что «видит» компьютер. Третья — предсказать, что будет дальше. Это лишь малая часть того, чему сейчас учатся нейросети.
— Какие возможности предоставляет эта технология? В открытых данных говорится о применении в медицине, промышленности, в области беспилотного транспорта. Может ли она применяться в бытовых или развлекательных целях?
— Возможности применения компьютерного зрения в промышленности огромны: от создания беспилотных автомобилей до систем безопасности. Эта технология обладает большим потенциалом и в области медицины. Сейчас результаты МРТ, компьютерной томографии и рентгенографии изучает человек. Если машины облегчат ему задачу или справятся с анализом лучше, это будет очень важное достижение.
Если говорить о развлекательных и бытовых целях, сразу вспоминаются шлемы и очки виртуальной и дополненной реальности. Когда вы куда-то пойдете, очки с умной начинкой или навигатор в телефоне могут подсказать вам, в какую сторону повернуть, накладывая стрелки на реальную дорогу. Ставку на VR- и AR-технологии сейчас делает Facebook, Google, Apple и многие другие крупные компании. Думаю, в ближайшие годы в этой сфере можно ожидать бурного роста.
— А что с применением уже сейчас — сможете ли вы назвать лучшие образцы реализованной на практике технологии компьютерного зрения? Есть ли такие в нашей стране?
— Системы компьютерного зрения уже активно используются во многих областях, например в розничной торговле. В некоторых супермаркетах, в том числе российских, с помощью этой технологии можно отслеживать, не закончился ли на полке тот или иной продукт. Существуют и алгоритмы, которые распознают воровство в магазинах, причем уже сейчас они делают это лучше охранника, который смотрит на изображения с камер.
С генерацией видео чуть сложнее. Пока я могу назвать только два более-менее успешных примера применения этой технологии. Первый — прогноз, куда будет двигаться автомобиль или пешеход. Это очень полезно для беспилотных автомобилей. Даже если человек пока не на пешеходном переходе, машине важно понимать, что через несколько секунд он на нем окажется, чтобы заранее начать тормозить.
Второй пример — генерация анимации из пейзажа, технология, которая поможет легко создавать зрелищные видеоролики. Как это работает? Представьте, что вы сделали фотографию с красивым ландшафтом и хотите получить таймлапс, то есть видео, где облака передвигаются по небу в ускоренном темпе, а день сменяется ночью. Для этого вам бы пришлось поставить камеру на штатив и сутки ждать рядом в палатке, пока снимается ролик. Благодаря нейронным сетям вместо этого можно сделать всего одну фотографию, а потом автоматически сгенерировать продолжение со сменой дня и ночи, движением облаков и воды.
Но надо понимать, что технологии генерации видео пока не очень хорошо развиты, поэтому еще рано говорить об их широком применении в реальной жизни. Думаю, еще три-пять лет придется подождать.
— Есть ли у нее темная сторона? Среди прочего, может ли, грубо говоря, компьютер с помощью такого «зрения» проходить капчу?
— Безусловно, темная сторона есть. В изучении компьютерного зрения существует целый раздел о так называемых состязательных атаках, их создании и обнаружении. Вот что это значит. Представьте, что у вас есть нейронная сеть, которая с точностью 99% может отличить кошку от собаки. Но если поменять всего несколько пикселей в исходном изображении, система выдаст неверный ответ. И будет ошибаться почти каждый раз. При этом визуально на фотографии ничего не изменится: человек легко распознает на ней кошку. А нейросети будет казаться, что это собака.
Более серьезный пример: представьте, что вы едете на беспилотном автомобиле и кто-то приклеил к дорожному знаку специальный стикер. На знаке написано, что ограничение скорости — 20 км/ч, а алгоритм решит, что там написано 120 км/ч. В результате машина начнет разгоняться, что может привести к аварии.
Также компьютерное зрение помогает проходить капчу, поэтому компании стараются создавать все более совершенную защиту от роботов. Более того, нейросети уже научились распознавать многие различия в людях, например пол, возраст и цвет кожи. Если такие технологии попадут не в те руки, это также может привести к плохим последствиям. Поэтому сейчас выходит множество исследований, посвященных вопросам этики в машинном обучении.
— Насколько российская наука хороша в этой области: опережаем, отстаем или идем вровень с другими странами?
— Думаю, по количеству публикаций и цитирований мы отстаем от американцев, китайцев и европейцев, но в нашей стране есть несколько очень сильных групп исследователей мирового уровня, которые занимаются передовыми разработками в сфере компьютерного зрения. В том числе в «Яндексе» и других ИТ-компаниях. В «Сколтехе» также созданы хорошие условия для исследований в этой области.
Проблему привлечения молодых ученых отчасти помогают решать гранты, стипендии, проекты крупных компаний, такие как премия Сегаловича. Но больше всего компьютерное зрение привлекает исследователей огромными перспективами применения и множеством интересных задач, которые пока еще никто не решил.