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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результаты

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

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

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

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

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

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

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

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

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

Комментарии (2)


  1. abutorin
    19.11.2025 09:04

    Научите эту сеть сразу планировать квартиру так, чтобы место входа в квартиру не было проходным, а это это "боль" большинства планировок.


  1. ioleynikov
    19.11.2025 09:04

    Я бы не поленился применить эволюционное моделирование, генетические алгоритмы. На рутракер можно качнуть интересную книгу Lanham Micheal - Evolutionary Deep Learning. Genetic algorithms and neural networks - 2023