
Привет, Хабр! Меня зовут Артур Ишмаев, я — руководитель отдела внедрения и развития нейросетей в девелопере ПИК.
Наша команда активно работает над оптимизацией и осмыслением многих процессов проектирования, и для нас важно понимать, какие технологии активно развиваются сейчас и что будет востребовано в будущем.
Вводная часть
Я уже долгое время изучаю применение нейронных сетей в архитектурном проектировании и продолжаю делиться своими результатами. В этой статье я постараюсь рассказать, какие именно технологии и приемы использовались, а также какие недостатки и проблемы не удалось решить в тех или иных проектах. Таким образом, мы попытаемся осмыслить существующие подходы, чтобы понять, какие из них стоит развивать и применять самостоятельно.
Задача генерации плана дома
Одной из самых трудоемких задач является разработка планов жилых домов, типовых этажей и квартир — традиционно она требует значительных усилий от архитекторов для выполнения большого количества требований к функциональности, эргономике и эстетике пространства. Факторов, влияющих на качество планировочного решения, очень много — они зависят от типа жилого дома, его параметров (этажности), технического задания, места его реализации и потенциальных жителях.
Существующие подходы к проектированию, основанные на правилах и алгоритмах, ограничены в гибкости и не всегда могут учесть весь спектр зависимостей, необходимых для создания качественных планировочных решений. В результате такие подходы не способны генерировать большое разнообразие вариантов, которое могут создавать талантливые архитекторы. Поэтому исследования, направленные на создание адаптивных, интеллектуальных систем проектирования, стали особенно актуальными.
Data-driven Interior Plan Generation for Residential Buildings, 8 November 2019
Самые ранние попытки применения нейронных сетей для генерации планировок квартир и домов относятся к началу 2010-х годов, когда архитектура генеративных моделей только начинала развиваться.
Исследовательская работа «Data-driven Interior Plan Generation for Residential Buildings», опубликованная в 2019 году, на мой взгляд, является одной из первых попыток применения нейронных сетей для создания планировочных решений. Данная работа направлена на генерацию планировки этажа индивидуального жилого дома.
Подход к решению
Авторы проанализировали реальный процесс создания плана жилого дома архитектором и попытались воспроизвести его с помощью нейронной сети.

По мнению авторов, осмысленный подход архитектора опирается на определение составляющих жилого плана, их связей и примерного расположения. Следующим этапом является определение размеров и конкретизации расположения комнат. Далее определяется расположение стен между комнатами.
В качестве исходных данных используется контур дома и положение входной двери.
На базе этой гипотезы сформировался подход к архитектуре модели:
1 этап: размещение комнат.
2 этап: размещение стен.

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

Каждый план хранится в виде растрового изображения 256*256*4:
канал R — информация о внутренних границах, Inside mask
канал G — информация о внешних границах, Boundary Mask
канал B — информация о комнатах, значение каждого пикселя обозначает соответствующую комнату, Room mask + Wall mask
канал A — дополнительная информация для комнат

Размер изображения соответствует 18 на 18 метров.
Технология реализации модели
Для реализации используются сверточные нейронные сети (CNN) — вид нейросети, используемой для распознавания данных с сеточной структурой, таких как фотографии и видео.
В этом проекте используется 2 вида CNN:
CNN regression — регрессионный подход для предсказания нужной информации.
CNN encoder-decoder — архитектура для обработки данных с кодировщиком и декодировщиком, где первый определяет признаки, а второй — формирует на их основе необходимый результат в нужном виде.
Первый этап: размещение комнат
Первый этап — это поиск положения комнат и определение их функций.
Как видно на схеме, сначала отдельным шагом происходит определение местоположения гостиной комнаты (Living room). Одна из особенностей этой работы — обязательное наличие гостиной в любой планировке данной категории объектов. Для совершения этого шага используется CNN Regression и обучается отдельная модель.

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


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

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

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

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

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



Это еще раз подчеркивает, насколько подход с участием нейронных сетей может гибок и универсален.
Результаты
Еще раз подчеркну, что данная работа появилась в 2019 году и является очень ценной с точки зрения формирования подхода. Мы рассмотрели, какие именно архитектуры нейронных сетей были использованы и для каких конкретно этапов и задач. Становится понятно, что для решения сложной задачи можно для отдельных этапов использовать и обучать отдельные модели. Помимо нейронных сетей, используются алгоритмы векторизации — в данном случае не самые лучшие.
Теперь стоит обозначить важные недостатки данного подхода, которые я вижу:
Отсутствие вариативности результата, несмотря на минимальное количество ограничений на входе.
Неспособность генерации новых результатов — все, что получается, похоже на искажение данных, на основе которых обучались модели.
Излишнее дробление процесса на отдельные этапы без учета истории процесса и предыдущих принятых решений — отсутствие рекуррентности нейронной сети.
Результат векторизации ограничен взаимоперпендикулярностью расположения внутренних стен, несмотря на свободу внешнего контура.
Нет инструментов контроля результата и недостаток исходных данных для генерации.
Архитектура модели не способна учитывать глубокие связи между архитектурными сущностями при обучении.
В следующей статье мы рассмотрим более продвинутые подходы, которые совершенствуют архитектуру, используют новые технологии и виды нейронных сетей.
Комментарии (2)

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