Применение нейросетей и машинного обучения в области урбанистики: кратко о главном

Подобно тому, как театральное представление начинается с вешалки, анализ любой сложной проблемы начинается с наличия данных. В различных научных областях уже существуют готовые наборы данных, однако урбанистика испытывает большой дефицит в этой сфере.  Человечество достигло значительных успехов: преодолело голод, излечило многие болезни, разгадало тайны атома и Вселенной. Разве не пора теперь серьезно заняться обустройством городского пространства, в котором мы живем? Но для этого необходимы глубокие исследования. Несмотря на пандемию коронавируса, XXI век может стать веком психических расстройств. Согласно исследованиям, депрессия уже сейчас является основной причиной потери трудоспособности среди американцев в возрасте от 15 до 45 лет. Каждый пятый человек старше 60 лет принимает антидепрессанты, а более половины населения США хотя бы раз в течение последних пятнадцати лет использовал эти препараты. Научные данные свидетельствуют о том, что жители “зеленых” районов реже страдают депрессией и совершают меньше преступлений.

Выводы исследователей: если мы хотим здоровое и безопасное общество, то нужны не только таблетки и полиция, но и зелёная городская среда.

Современные технологии аэрофотосъёмки и нейронных сетей позволяют идентифицировать “зелёнку” городской среды вплоть до отдельных деревьев. Прошло время, когда для изучения города нужно копаться в генпланах озеленения или лично посещать местность. Вместо текста и сухих цифр — наглядные визуализации. Вместо архивариусов и инспекторов — операторы дронов и программисты. Всё вышеупомянутое можно с интересом и пользой применить для задач урбанистики и обучить нейросеть распознавать кроны деревьев.

Самым точным и наглядным способом отобразить “зелёнку” будет её детальная карта, составленная не по документам, а по реальным изображениям. Да и деревья бывают разные, начиная от молодых саженцев и голых тополей до раскидистых дубов. Для наглядности и контрастности можно нарисовать карту деревьев в чёрно-зелёном цвете, где зелёным обозначены кроны деревьев, чёрным — всё остальное. Для упрощения ориентирования в правой части приведена обычная карта Москвы из Яндекс.карт:

Центру Москвы не хватает озеленения, чернеют транспортные артерии. Однако за пределами третьего транспортного кольца (ТТК) жилые кварталы уже утопают в зелени, а до многочисленных парков от центра 5-7 километров.

Например, крупным планом территория спорт-комплекса “Лужники” с чёрной дугой Москвы-реки и парком Воробьёвых гор:

Чтобы количественно оценить “утопание в зелени” отдельных районов, можно составить тепловую карту деревьев столицы. По сути это будет карта сомкнутости крон:

Чем теплее цвет, тем больше плотность деревьев. В центре зелень формирует 0-30% по площади — от чёрного до голубого цветов. Спальные районы вне ТТК окрашены преимущественно в зелёный цвет, что соответствует покрытию в 40-60%. Мало какой мировой столице по силам превысить этот показатель.

Ближе к окраинам много красного и белого цветов и несмотря на названия это не парки, а скорее сплошные леса с сомкнутостью крон 90-100%. Этим непросто гордиться, так как значительные площади окраинных “парков” необустроены и недоступны для прогулок.

Нью-Йорк

Интересно посмотреть как обстоят дела с озеленением в других городах. Успехи заокеанских коллег по урбанистике можно оценить по Нью-Йорку:

Манхеттен выглядит совсем пустовато, как и центр Москвы. Его легко опознать по прямоугольнику Центрального Парка. С юга Бруклин – сомкнутость крон небольшая, 0-30% за исключением нескольких зелёных кварталов и парка с кладбищем. Отчасти дело в том, что в Бруклине плотная застройка и места под зелень осталось немного. Довольно зелено выглядит Бронкс [на севере по центру] и северо-восточная часть Куинса. Лесной верхний левый угол картинок это уже не Нью-Йорк, а пригород — Нью-Джерси.

Париж

Административно столица Франции небольшая, поэтому есть смысл добавить пригород:

Город контрастен. Во время Наполена III в середине XIX века Париж украсили несколько крупных парков — эти пятна видны на всех картах. От Триумфальной арки до Булонского леса всего один километр. Жилая часть Парижа и пригородов не привлекла бы дендрологов — тесные улочки, к которым примыкают фасады домов, не способны вместить достаточное количество зелени и основная часть деревьев расположена внутри незастроенных дворов. Запад и юго-запад радуют высокой долей деревьев, но как и в случае Москвы это необлагороженные леса, зато без болот.

Шанхай

Особая нелюбовь к озеленению у азиатских мегаполисов:

Город на тепловой карте выглядит “фиолетово” и этот цвет хорошо отражает отношение градостроителей к озеленению. В Шанхае есть парки, но небольшие. Есть и “зелёные” кварталы, но дома сами по себе там занимают более половины площади и деревья ютятся в каменных джунглях. Можно было бы подумать, что выделяющийся зелёным цветом пятиугольник это шанхайский аналог московского бульварного кольца, но нет — обособление деревьями кольцевой автомагистрали.

Каунас

Города поменьше не выглядят лучше мегаполисов, например:

Шарлотт

Каким мог бы быть по-настоящему “зелёный” город? Для контраста один из самых зеленых городов США — Шарлотт:

Шарлотт это лес, в котором люди построили дома.

Технические детали

В задаче использовалась нейросетка EfficientNet-B7. Это самая большая нейросетка в линейке с 66 млн. параметров, предобученная под картинки размером 600х600 пикселей. Не самый оптимальный выбор, но хотелось поиграться с большими нейросетками, так как для продакшена обычно актуальны поменьше. Минус такого большого размера — требуется больше данных для обучения, плюсы — будет меньше склеек на результирующей картинке, так как изначальный размер картинки для инференса нейросеткой составлял ~1 гигапиксель. EfficientNet-B7 влезает в 12 ГБ видеопамяти, то есть можно обучать и в Google Colab, и на чём-нибудь домашне-игровом вроде GeForce 3060. На мой взгляд минусы сильно перевешивают и в дальнейшем сторонился версии B7. Для аугментации обучающего датасета использовалась albumentations.

В качестве бэкэнда поначалу использовался TensorFlow, всё-таки EfficientNet это детище Google и через TF было проще, но со временем появились и отличные реализации под PyTorch. При этом “из коробки” при инференсе реализация на TensorFlow потребляет в разы больше видеопамяти. Личные впечатления по TF vs PT сходятся с сообществом:

Ещё интересная эмпирика по TensorFlow vs PyTorch тут. Точность моделей можно сравнить тут.

Ну и ради чего всё затевалось: полновесная карта “зелёнки” Москвы тут  (осторожно, 308 мегабайт).

Автор: Вячеслав @150Rus
Источник: https://habr.com/