Архив рубрики ~Лента новостей~

Нейронные сети для генерации планировочных решений. Часть 1

Нейронные сети для генерации планировочных решений. Часть 1
NOVOSTI

Привет, Хабр! Меня зовут Артур Ишмаев, я — руководитель отдела внедрения и развития нейросетей в девелопере ПИК. 

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

Вводная часть

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

Задача генерации плана дома

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

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

Data-driven Interior Plan Generation for Residential Buildings, 8 November 2019

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

Исследовательская работа «Data-driven Interior Plan Generation for Residential Buildings», опубликованная в 2019 году, на мой взгляд, является одной из первых попыток применения нейронных сетей для создания планировочных решений. Данная работа направлена на генерацию планировки этажа индивидуального жилого дома.

Подход к решению

Авторы проанализировали реальный процесс создания плана жилого дома архитектором и попытались воспроизвести его с помощью нейронной сети.

рис 1. Процесс проектирования плана жилого дома архитектором. 

По мнению авторов, осмысленный подход архитектора опирается на определение составляющих жилого плана, их связей и примерного расположения. Следующим этапом является определение размеров и конкретизации расположения комнат. Далее определяется расположение стен между комнатами.

В качестве исходных данных используется контур дома и положение входной двери.

На базе этой гипотезы сформировался подход к архитектуре модели:

1 этап: размещение комнат. 

2 этап: размещение стен.

рис 2. Двухэтапный процесс генерации

Данные для обучения

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

За основу взят датасет RPlan, который представляет собой вручную собранные планировки этажей индивидуальных жилых зданий в количестве более 80 000 штук. Это проекты азиатских домов.

рис. 3. Набор данных RPlan, который используется для обучения 

Каждый план хранится в виде растрового изображения 256*256*4:

  • канал R — информация о внутренних границах, Inside mask

  • канал G — информация о внешних границах, Boundary Mask

  • канал B — информация о комнатах, значение каждого пикселя обозначает соответствующую комнату, Room mask + Wall mask

  • канал A — дополнительная информация для комнат

рис 4. Метод кодирования информации в 4 канала пикселей на примере плана

Размер изображения соответствует 18 на 18 метров.

Технология реализации модели

Для реализации используются сверточные нейронные сети (CNN) — вид нейросети, используемой для распознавания данных с сеточной структурой, таких как фотографии и видео.

В этом проекте используется 2 вида CNN:

  1. CNN regression — регрессионный подход для предсказания нужной информации.

  2. CNN encoder-decoder — архитектура для обработки данных с кодировщиком и декодировщиком, где первый определяет признаки, а второй — формирует на их основе необходимый результат в нужном виде.

Первый этап: размещение комнат

Первый этап — это поиск положения комнат и определение их функций.

Как видно на схеме, сначала отдельным шагом происходит определение местоположения гостиной комнаты (Living room). Одна из особенностей этой работы — обязательное наличие гостиной в любой планировке данной категории объектов. Для совершения этого шага используется CNN Regression и обучается отдельная модель.

рис 6. CNN для определения гостиной комнаты

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

Следующая CNN-модель определяет, продолжать поиск или остановиться. Она принимает бинарное решение — продолжать или нет процесс поиска. Это решение основывается на том, насколько удовлетворительный результат выдает третья модель проекта — CNN encoder-decoder.

рис 7. Итеративный процесс поиска комнат
рис 8. Отбор положения помещений

В результате получается расположение помещений с определенной категорией функции.

рис 9. Результат первого этапа

Второй этап — межкомнатные стены

На втором этапе используется сверточная нейросеть типа CNN encoder-decoder, которая предсказывает положение стен между найденными помещениями. Это — четвертая по счету нейросетевая модель в проекте.

рис 10. Определение положения стен

Затем все обрабатывается алгоритмом векторизации стен в векторные отрезки. 

рис 11. Векторизация стен

Детальнее процесс выглядит так:

рис 12  Векторизация стен

Генерация функционального зонирования территории.

А теперь самое интересное. Мы решили попробовать применить эту архитектуру к другой задаче — к генерации функционального зонирования территории. И вот что у нас получилось: 

рис. 13. Генерация функционального зонирования — этап поиска центроидов зон
рис. 14. Генерация функционального зонирования — этап формирования зон
рис. 15. Генерация застройки

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

Результаты

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

Теперь стоит обозначить важные недостатки данного подхода, которые я вижу:

  • Отсутствие вариативности результата, несмотря на минимальное количество ограничений на входе.

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

  • Излишнее дробление процесса на отдельные этапы без учета истории процесса и предыдущих принятых решений — отсутствие рекуррентности нейронной сети.

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

  • Нет инструментов контроля результата и недостаток исходных данных для генерации.

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

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

Источник: habr.com

Оцените материал:

Поделиться
Понравилась статья? Расскажите другим
ВКонтакте
Читайте также
Архив рубрики ~Коротко из Telegram~ Запускаем мощную нейронку на стареньком MacBook Air. — нашли тулзу… Новости робототехники Один ролик вместо четырёх часов переобучения Чтобы научить робота новой… Архив рубрики ~Коротко из Telegram~ YouTube ужесточает контроль за «неаутентичным контентом» В этом видео детально… Новости робототехники Роботы начнут чинить спутники — SpaceX запустила на орбиту беспилотник… Новости робототехники Андроид T800 потерял голову в поединке на ринге. В Китае прошел турнир по боям между человекоподобными роботами Новости робототехники Соучредитель Uber привлек $1,7 млрд для нового робототехнического стартапа ATOMS Архив рубрики ~Обо всем~ Заметки из окопов: взгляд вычислительного биолога на цифровую революцию в разработке лекарств. Новости робототехники Holiday Robotics собирает 105 миллионов долларов для своего колесного гуманоида ПЯТНИЦА Новости робототехники [Перевод] В Корее произошла первая в мире забастовка против использования гуманоидных роботов на производстве Архив рубрики ~Обо всем~ Оксид никеля из руды ускорил восстановление железа водородом вдвое. Твердофазный катализ восстановил смесь оксидов в сплав за одну стадию Новости робототехники Украинские беспилотники доставляют роботов непосредственно в зону боевых действий по морю и воздуху. Новости робототехники AMD представила модуль Kria для управления в кратчайшие сроки и унифицированную память для роботов. Архив рубрики ~Коротко из Telegram~ Создатель Twitter Джек Дорси выпустил аналог Discord и Slack —… Новости робототехники Роботакси Tesla движутся в обратном направлении. Архив рубрики ~Коротко из Telegram~ Запускаем мощную нейронку на стареньком MacBook Air. — нашли тулзу… Новости робототехники Один ролик вместо четырёх часов переобучения Чтобы научить робота новой… Архив рубрики ~Коротко из Telegram~ YouTube ужесточает контроль за «неаутентичным контентом» В этом видео детально… Новости робототехники Роботы начнут чинить спутники — SpaceX запустила на орбиту беспилотник… Новости робототехники Андроид T800 потерял голову в поединке на ринге. В Китае прошел турнир по боям между человекоподобными роботами Новости робототехники Соучредитель Uber привлек $1,7 млрд для нового робототехнического стартапа ATOMS Архив рубрики ~Обо всем~ Заметки из окопов: взгляд вычислительного биолога на цифровую революцию в разработке лекарств. Новости робототехники Holiday Robotics собирает 105 миллионов долларов для своего колесного гуманоида ПЯТНИЦА Новости робототехники [Перевод] В Корее произошла первая в мире забастовка против использования гуманоидных роботов на производстве Архив рубрики ~Обо всем~ Оксид никеля из руды ускорил восстановление железа водородом вдвое. Твердофазный катализ восстановил смесь оксидов в сплав за одну стадию Новости робототехники Украинские беспилотники доставляют роботов непосредственно в зону боевых действий по морю и воздуху. Новости робототехники AMD представила модуль Kria для управления в кратчайшие сроки и унифицированную память для роботов. Архив рубрики ~Коротко из Telegram~ Создатель Twitter Джек Дорси выпустил аналог Discord и Slack —… Новости робототехники Роботакси Tesla движутся в обратном направлении.