Как машины научились видеть и что это значит для урбанистики
За несколько лет технология компьютерного, или машинного, зрения стала не просто реальностью, но обыденностью. Google находит похожие изображения, Facebook сам отмечает друзей на фотографиях, к которым, кстати, можно подрисовать улыбки, румянец или щенячьи уши. Специалисты по этике обсуждают конец приватности: больше года назад появилось приложение для поиска человека в соцсетях по фотографии.
Как компьютер смотрит на мир? Что нового он может рассказать о наших городах? Strelka Magazine попросил выпускницу «Стрелки», аналитика городских данных в компании Habidatum Анну Львову рассказать, что такое компьютерное зрение, как его можно применять и что это означает для наших городов.
Материал публикуется в преддверии саммита «Машины могут видеть», который пройдёт 9 июня в партнерстве компании VisionLabs и венчурного фонда Sistema_VC.
Машинное зрение достигло небывалых успехов: ещё в середине 2000-х компьютер не отличил бы кошку от собаки, а сейчас может отличить кокер-спаниеля от ирландского терьера меньше чем за секунду. Panasonic производит холодильник, который распознаёт испортившиеся продукты, Volvo — автомобиль, который автоматически сбавит скорость, увидев на дороге лося и оленя.
Объектив стремительно превращается в поисковую строку: по фотографии можно подобрать запчасти, рецепт для оставшихся продуктов, кроссовки, которые подойдут к рубашке, да и саму рубашку как у прохожего. Есть и совсем странные случаи вроде цифрового хироманта: одна российская компания использует технологии обработки и распознавания изображений для гадания по руке. Такие сервисы теперь принято называть Shazam для лиц, одежды, отпечатков пальцев и для всего остального. Вместо музыки они видят и понимают изображения.
Появление компьютерного зрения оказало огромное влияние на развитие робототехники, беспилотного транспорта, дополненной реальности, медицинской диагностики и многих других индустрий.
Городской классификатор
Пока что единственная градостроительная работа в России, где применялось компьютерное зрение, — это CityClass Романа Кучукова. И та продиктована скорее исследовательским интересом, нежели запросом рынка. Когда-то Роман занимался концепцией развития Иркутска и делал карту функционального зонирования города — это долгая и механическая работа. Так и возникла идея её автоматизировать: если человек, глядя на спутниковую карту, способен отличить промышленную зону от жилой, а историческую застройку — от микрорайона, то этому можно обучить и компьютер.
Роман Кучуков, выпускник «Стрелки», архитектор, автор проекта CityClass: «Карта города бьётся на ячейки, каждая из которых может содержать один из семи типов застройки: историческая дореволюционная, сталинская, микрорайонная, современная и индивидуальная жилая застройки, промышленная инфраструктура и зелёные территории. Дальше я вручную разметил часть ячеек как эксперт. На основе этого компьютер научился различать типа застройки самостоятельно. На втором этапе я прогнал весь набор карт через нейронную сеть и мгновенно получил классификацию».
По словам доцента Сколковского института науки и технологий Виктора Лемпицкого, эти наработки можно легко адаптировать к новым городам и проблемам: «Нейросеть, обученную на одной задаче, можно использовать для сравнения изображений из другой задачи. В самом популярном наборе картинок ImageNet здания не особо представлены. Однако нейросеть, натренированная на нём, может понять, какие дома похожи, а какие нет. Кроме того, нейросеть может быть легко донастроена для схожей задачи. Например, нейросеть, которая хорошо распознаёт здания Парижа, может быстро приспособиться к зданиям в Москве. Это пройдёт гораздо быстрее и потребует меньшего количества тренировочных примеров, чем анализ с нуля».
В своём проекте Кучуков и вовсе обучил компьютер на одной выборке и применил её для анализа пяти городов: Москвы, Нижнего Новгорода, Казани, Самары и Екатеринбурга, потому что типы застройки практически везде одинаковы.
Если посмотреть на результаты по Москве, то можно легко распознать исторический центр по скоплению красных ячеек, ЗИЛ, Ленинский проспект, Воробьёвы горы и новое строительство вокруг МГУ.
Роман Кучуков: «Мы можем компьютеру дать те специфические знания, которые люди осваивают много-много лет, и поручить нейросети делать те вещи, которыми проектировщик занимается 90 % своего времени. Это очень важное следствие машинного обучения, которое может полностью поменять устоявшиеся подходы и практики».
Что можно узнать о городе по его снимку?
OpenStreetMap, Google Earth и «Яндекс.Карты» стали новой нормой для профессий, связанных с городом и архитектурой. С помощью картографических сервисов можно оценить плотность застройки, высотность зданий, состояние фасадов, коммерческое разнообразие и количество вывесок. Онлайн-карты и спутниковые снимки, использованные в CityClass, — это ещё и альтернатива официальной документации. Часто она либо отсутствует, либо быстро устаревает. Лес в документах может в реальности оказаться застроенным посёлком, памятник архитектуры — небольшой руиной в поле, а поле — свалкой.
Когда в 2014 году «случайно» снесли доходный дом Прошиных на 1-й Тверской-Ямской, это обнаружилось благодаря тому, что прохожий заглянул за строительный забор. Если бы активистам было доступно постоянное наблюдение за объектом с воздуха, то алгоритмы компьютерного зрения могли бы сигнализировать о подозрительной активности и незаконного сноса можно было бы избежать.
Вообще, чтобы компьютер хорошо понимал изображения, нужны, во-первых, алгоритмы и вычислительные мощности, во-вторых, значительное число изображений, чтобы натренировать компьютер. И с первым, и с последним сейчас всё очень хорошо, поэтому для изучения города можно работать с социальными сетями, дронами, камерами наружного наблюдения или орбитальными спутниками.
Спутники, которые видят всё: бедность, продажи, нефть и вода
Индустрия спутниковых наблюдений переживает настоящий бум: на орбите земли находятся 1300 спутников, в том числе частных, которые активно продают свои снимки. В подобные компании вкладывают инвесторы из Кремниевой долины, недавно Uber заключил партнёрство с DigitalGlobe, чьи изображения мы видим в Google: сервис не хочет зависеть от чужих карт и планирует прокладывать маршруты для водителей прямо по снимкам. Хорошая новость в том, что чем выше конкуренция, тем более доступными становятся спутниковые снимки. Раньше купить их могли только государственные агентства или совсем крупные компании. Сейчас это может сделать небольшой молл, стоящий посреди американской пустыни.
Эти компании хотят фиксировать каждый уголок Земли каждый час. Причём они сами ещё не разобрались, что с этим можно будет сделать, но уверены, что потенциал огромен. Вот лишь несколько применений, которые существуют уже сейчас.
Учёные из Стэнфорда натренировали нейросеть предсказывать уровень бедности в Африке, где и у властей нет денег на то, чтобы собирать информацию о населении. Сначала учёные использовали дневные снимки, чтобы распознать поселения по крышам домов и дорогам, а потом сравнили это с вечерними снимками, чтобы понять, в каких районах у людей нет денег даже на освещение своего жилища.
Свой индекс бедности есть и у частной компании Orbital Insight, но ещё интереснее другие её решения. Так, она анализирует снимки парковок при моллах и таким образом предсказывает объёмы продаж по количеству припаркованных автомобилей и времени стоянки. Эту аналитику продают ретейлерам и постепенно выходят на общеамериканские обзоры, причём последний прогноз оказался точнее Bloomberg. Эта же компания научилась предсказывать очаги незаконной вырубки лесов, считает темпы урбанизации в бедных районах планеты, количество доступной питьевой воды и мировые запасы нефти по тени на воде от танкеров, которые перевозят топливо. Наконец, кейсы, которые давно перестали быть уникальными, — определять функциональное зонирование, мониторить появление дорог и, следовательно, рост городов.
С небес на землю
Спутники смотрят на планету сверху вниз, но есть компьютерные глаза — на уровне человеческих. Сервис Google Street View позволил многим из нас побывать в самых отдалённых уголках планеты, городах и даже зданиях. Он идеален для разбора морфологии улиц: дизайн-код, озеленение и фонари, количество заборов, качество дорожного покрытия. Например, авторы проекта What Makes Paris Look Like Paris? использовали изображения Street View, чтобы понять, чем бульвары визуально отличаются от улиц, какие архитектурные элементы встречаются только в Париже, а какие повлияли на дизайн других городов.
Другой интересный проект — краудсорсинговое исследование Place Pulse, сделанное в MIT. Вам показывают два снимка Google Street View и спрашивают, какое место выглядит безопаснее, красивее, скучнее или богаче. В итоге исследователи узнали, различается ли восприятие улиц и городов в разных странах, и, что не менее важно — получили огромный объём размеченных данных, на которых можно натренировать компьютер и предсказывать параметры других городов.
Третий важный источник информации — социальные сети и краудсорсинг. С 2015 года люди делают больше триллиона снимков ежегодно. Часть из них попадает в социальные сети. Соцсети давно применяются для городского анализа, однако исследователи обычно пользуются лишь текстами и геолокацией. При этом нет ничего такого, что текст мог бы сказать, а картинка нет: улыбки, эмоции, позы, лица друзей и местоположение в городе — всё это можно увидеть. Но даже если не фокусироваться на людях, то фотографии могут рассказать о состоянии зданий или загрязнении воздуха. Так делают в Сингапуре: собирают снимки из Instagram и анализируют, насколько туманным кажется воздух.
Наконец, самый очевидный и самый пугающий многих источник информации — камеры наблюдения. Одно дело, когда они мониторят скорость движения на дорогах и распознают номера автомобилей, другое — когда камеры узнают вас в лицо и сверяют с базой. Очевидно, что это используют городские службы безопасности: так, власти Уэльса во время финала Лиги чемпионов сканировали изображения всех болельщиков и сверяли с базой преступников. Но безопасностью дело не ограничивается. Лицо становится новой кредиткой, пропуском на работу и паспортом одновременно: с его помощью можно расплатиться в общественном транспорте, попасть в музей или общежитие.
Как устроено зрение у компьютера
Представьте себе инопланетянина, которому нужно объяснить, как выглядит человек. Вы говорите, что у человека два глаза. А если он стоит к вам боком и видно только один глаз, это всё ещё человек? Зрение и понимание увиденного — невероятно сложная способность: мы учимся ей с самого детства, нам очевидно, что объекты могут постоянно менять форму, положение и контекст, но не менять своей сущности. Компьютерам не очевидно: у них не было подобного детства.
Проблему удалось решить благодаря машинному обучению. Если обычные программы — это, по сути, инструкции, которые говорят компьютеру: «Иди прямо до перекрёстка, остановись, снова иди», то машинное обучение предполагает, что компьютер учится в процессе. В какой-то момент он увидит закономерности и сам поймёт, что на красный сигнал светофора нужно остановиться.
Лучше всего понимают изображения так называемые свёрточные нейронные сети. Они состоят из нейронов, сгруппированных по слоям. Картинка дробится на много маленьких кусочков и последовательно проходит через все эти слои. Например, если мы загрузим фотографию человека, то один слой может отвечать за черты лица, другой — за части тела, третий — за одежду. А один нейрон будет реагировать на блеск ткани или складки. Впрочем, идея обучения в том, что человеку не важно знать, что именно происходит в каждом слое и тем более нейроне. В конце нейросеть принимает решение, есть ли на фото человек или нет.
Виктор Лемпицкий: «Суть глубинного обучения в том, что „надзиратель“ в процессе обучения контролирует только значения нейронов выходного слоя, а на значения нейронов, содержащихся в десятках промежуточных слоёв, никакого внимания не обращает. То есть это именно такой надзиратель из вышестоящей инспекции, которому важны формальные показатели на выходе, а не добросовестный учитель, которому важно понимание предмета».
Олимпийские игры в этой области — конкурс ImageNet Large-Scale Visual Recognition Challenge. Он проводится ежегодно с 2010 года и состоит из трёх частей. Первая — указать, есть ли на каждой из 150 тысяч фотографий один из 1000 типов объекта (например, зонт, доберман или лабиринт). Вторая — найти конкретный объект на фото, третья — на видео.
Если победитель первого конкурса ошибался в 28,2 % случаев (против человеческого показателя в 5,1 %), то в 2015 году машины смогли обойти людей и достигли уровня в 4,94 %.
Виктор Лемпицкий: «В итоге нейросети существенно превосходят человека, потому что человеку сложно удержать в голове тысячи параметров. Плюс компьютер делает это очень быстро. Большая обученная нейросеть обрабатывает одно изображение несколько десятков миллисекунд на графическом ускорителе и примерно в десять раз дольше на обычном процессоре».
Эти нейросети придумали ещё 30 лет назад: уже тогда они могли распознать рукописные цифры, но по определённым причинам впали в немилость. Спустя 20 лет забвения они триумфально вернулись и вошли в моду как среди учёных, так и среди бизнеса, а их создатель Ян Лекун теперь работает в Facebook.
Какое будущее вы видите?
Компьютер уже обошёл человека, но и он ошибается. Можно вспомнить, как сервис Google Photo «распознал» чернокожих людей на фотографии как горилл. Этот случай обсуждался в первую очередь с этической стороны, но если на компьютерном зрении будут основаны все городские сервисы, то цена ошибки многократно возрастёт. Впрочем, основная претензия к компьютерному зрению не в том, что оно ошибается, а в том, что может нарушать приватность и вторгаться в личную жизнь. Возможность найти кого угодно где угодно звучит страшно. Но важно помнить, что у технологий нет никаких ограничений: мы сами выбираем, для каких целей их использовать. Можно искать пропавшего без вести, а можно следить, куда конкретный человек пошёл после работы. Так и обезьяна, взявшая палку, могла добывать ей еду, а могла бить сородичей. Ни в том, ни в другом палка не виновата.
Вторая причина неолуддизма — страх потерять работу. Недавно испанский архитектор Давид Ромеро создал цветные рендеры для ныне разрушенных зданий Фрэнка Ллойда Райта, которые сохранились только на чёрно-белых фотографиях. Компьютер способен вернуть цвет изображению за секунды: теперь любой может представить, как выглядели Москва и Петербург до революции, Пенсильванский вокзал в Нью-Йорке до сноса, Дрезден и Роттердам до войны.
Машины теперь не только обрабатывают существующие изображения, но и создают новые. Так, голландские исследователи научили нейросеть превращать графические портреты в фотореалистичные, а приложение Prisma превращает обычные фотографии в произведения искусства.
Теперь представьте сервис, который рисует здание на основе нескольких изображений, выбранных пользователем. Конечно, здание — это не только картинка, но материалы, планировки и инженерные сети. Но ведь считалось, что машине можно доверить расчёты, а креатив оставить человеку. Компьютерное зрение меняет этот подход. А будет ли город, нарисованный на компьютере, лучше тех, что проектируют люди?
Можно сказать, что компьютерное зрение принесёт нам тотальный авторитаризм и технократию. А можно ждать демократии и самоорганизации, которых никогда раньше не было. Уже сейчас технологии могут позволить отказаться от репрезентативной демократии в пользу прямой: зачем выбирать представителя муниципалитета и делегировать ему решения, когда можно не ходить в избирательные участки, а нажимать кнопку в приложении и решать любой вопрос?
Компьютерное зрение позволяет пойти ещё дальше: а что если некоторые решения вообще не нужно принимать?
Для чего вообще функциональное зонирование: почему кто-то предписывает горожанам, где жить, где работать, а где торговать? В итоге кто-то выполняет правила, а кто-то их нарушает, потому что они неудобные.
Во многом городское управление пытается догнать существующий порядок вещей. На исправление и адаптацию уходит время, в течение которого реальность может снова поменяться — и надо снова рассматривать спутниковые снимки, чтобы понять, что эта территория давно обжита безо всяких на то разрешений.
Компьютерное зрение способно превратить городское управление в городское наблюдение: нам решать, будем ли мы его использовать, чтобы следить или чтобы созерцать, чтобы приказывать горожанам или адаптироваться под них