Содействие дизайну с помощью машинного обучения

Станислас Шайю | Гарвардская высшая школа дизайна | Весна 2018

В сотрудничестве с Thomas Trinelle

Использование машинных рекомендаций использовалось в бесчисленных отраслях, от наводящего поиска в Интернете до рекомендации фотостоков. По своей сути, механизм рекомендаций может запрашивать релевантную информацию - текст , изображения и т. д. - среди огромных баз данных и открывают их пользователю, когда он / она взаимодействует с заданным интерфейсом. Поскольку сегодня большие хранилища 3D-данных агрегируются, компания Architecture & Design могла бы извлечь выгоду из аналогичных методов.

Фактически, процесс проектирования в нашей дисциплине происходит в основном с помощью программного обеспечения для 3D (Rhinoceros 3D, Maya, 3DSmax, AutoCAD). Будь то программное обеспечение CAD (Computer-Aided Design) или современные механизмы BIM (Информационное моделирование зданий), Архитекторы постоянно воплощают свои намерения в линии и поверхности в трехмерном пространстве. Предложение соответствующих 3D-объектов, взятых из внешних источников данных, может быть способом улучшить процесс их проектирования.

Это цель этой статьи: изучить и предложить способ помощи дизайнерам с помощью «суггестивного моделирования». Когда архитекторы рисуют в трехмерном пространстве, множество классификаторов на основе машинного обучения смогут искать соответствующие предложения и предлагать альтернативные, похожие или дополнительные варианты дизайна.

С этой целью, опираясь на прецеденты в области распознавания и классификации трехмерных форм, мы разработали методологию и набор инструментов, позволяющих предлагать модели дизайнерам во время их рисования. Наша цель, по сути, двоякая: (1) ускорить процесс 3D-моделирования с помощью предварительно смоделированных предложений, а (2) вдохновить дизайнеров с помощью альтернативного или дополнительного дизайна. опции.

Сверточные нейронные сети

Возможность запрашивать 3D-объекты, соответствующие характеристикам дизайна, нарисованного пользователем, зависит от сравнения характеристик. В отличие от стандартных геометрических описательных показателей, сверточные нейронные сети (CNN) предлагают упрощенный и более полный вариант для сравнения формы.

Вместо сопоставления простых показателей - также называемых извлечением признаков - CNN принимают изображения в качестве входных данных, передавая пиксельное представление последовательности слоев «нейронов» (Рис. 1). Модель CNN настраивает веса в каждом нейроне, выводя прогноз на его последнем уровне. Посредством последовательных этапов обучения и проверки мы можем оценить точность нашей модели и дополнительно настроить веса для максимальной точности. После полного обучения модель CNN предсказывает «класс» или категорию данного представления изображения объекта.

Этот тип сети является стандартной практикой в ​​машинном обучении и сам по себе не представляет собой прорыв или сложную архитектуру. Тем не менее, его способность создавать некоторую интуицию исключительно на основе пространственных характеристик более чем актуальна для нашего приложения: неоднородность формата общедоступных 3D-объектов делает извлечение функций и сравнение метаданных сложным процессом. Возможность рассматривать объекты просто по их топологическим характеристикам с использованием изображений предлагает нам надежную объединяющую структуру для сравнения и поиска трехмерных фигур.

I. Прецеденты

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

[1] Многовидовые сверточные нейронные сети для распознавания трехмерных форм

Эта первая статья [1] представляет стандартную архитектуру CNN, обученную идентифицировать визуализированные представления фигур независимо друг от друга, и показывает, что трехмерную форму можно распознать даже из одного вида с высокой точностью. выше, чем при использовании современных дескрипторов 3D-форм. Показатели распознавания еще больше увеличиваются, когда предоставляется несколько видов фигур.

Кроме того, представлена ​​новая архитектура CNN, которая объединяет информацию из нескольких представлений трехмерной формы в единый и компактный дескриптор формы, предлагая еще более высокую производительность распознавания.

[2] VoxNet: трехмерная сверточная нейронная сеть для распознавания объектов в реальном времени

Чтобы использовать растущее количество баз данных облаков точек в результате увеличения доступности сканеров LiDar и RGBD, в этой статье [2] предлагается VoxNet. Архитектура этой модели направлена ​​на решение проблемы обработки и маркировки обширных облаков точек путем интеграции объемного представления сетки занятости с контролируемой трехмерной сверточной нейронной сетью (3D CNN).

Результаты оцениваются на общедоступных тестах с использованием данных LiDAR, RGBD и CAD. VoxNet в конечном итоге обеспечивает непревзойденную точность, маркируя сотни экземпляров в секунду.

[3] Объемные представления и машинное обучение в дизайне

Эта последняя статья [3] исследует возможности воксельного моделирования с помощью машинного обучения.

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

II. Определение модели

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

Короче говоря, модель, которую мы здесь разрабатываем, решает две основные задачи:

  • (1) Классификация: определение типа объекта, нарисованного пользователем, т. е. поиск подходящей метки («стул», «скамейка», «кровать» и т. д. ) для любого заданного входного изображения в сочетании с оценкой достоверности прогноза.
  • (2) Соответствие: запрос в базе данных 3D-объектов некоторых форм, которые лучше всего соответствуют аспекту смоделированного пользователем ввода, т. е. возвращение списка объектов, найденных в нашей базе данных, упорядоченных из большинства похоже на наименьшее.

Как показано на рисунке 5, вложив два разных уровня модели (Классификатор и Сопоставление), мы могли бы выполнить этот двухэтапный процесс. Каждая модель будет обучена на изображениях 3D-моделей, а затем будет протестирована на изображениях объектов, смоделированных пользователем.

A. Источники и генерация данных

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

Сначала мы извлекаем информацию из существующих общедоступных хранилищ 3D-объектов, таких как:

Из базы данных ShapeNet мы можем загрузить до 2.330 помеченных 3D-моделей 14 конкретных классов (рис. 6).

Используя Rhinoceros и Grasshopper, мы затем создаем скрипт инструмента для создания как наших обучающих, так и проверочных наборов. В этом скрипте камера , вращение вокруг каждого последующего объекта делает снимки объекта под определенными углами и сохраняет изображения JPG в заданном каталоге.

На рис. 7 показан типичный путь камеры (слева) и полученные изображения (справа).

Для каждого объекта мы берем 30 изображений для обучения и 10 для проверки, сохраняя при этом белый фон / нейтральный фон.

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

Наконец, мы получаем библиотеку помеченных изображений для 10 объектов на класс, всего 14 различных классов. Подмножество показано на рисунке 8.

B. Классификация

Как только наш набор данных будет готов, наша цель - обучить нашу первую модель, классификатор, на большом количестве изображений 3D-объектов, одновременно проверяя его эффективность на наборах изображений других объектов, принадлежащих к аналогичным классам. .

Итерации

Несколько параметров сильно влияют на точность обученного классификатора:

  • Размер набора для обучения и проверки.
  • Количество занятий
  • Количество объектов на классы
  • Количество изображений на объект
  • Размер изображения в обоих наборах
  • Путь захвата камеры вокруг объекта.

На этом этапе мы перебираем различные варианты и стремимся повысить общую точность модели на проверочном наборе. Имея ограниченные ресурсы, мы не можем позволить себе тренироваться с нуля. Использование некоторого трансферного обучения очень удобно, поскольку оно дает возможность повысить точность нашей модели, минуя дни обучения. Мы добавляем в качестве первых слоев нашей модели предварительно обученную модель VGG16, которая, в свою очередь, повышает нашу точность на 32%.

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

Результат

В конечном итоге мы выбираем классификатор, использующий изображения размером 200 * 200` пикселей, со сферическим путем камеры, 30 изображений на объект для обучения и 10 изображений для проверки. После 30 эпох, мы наконец получаем точность на проверочном наборе 93%. Теперь кажется очевидным, что следующие параметры сильно влияют на производительность всей модели:

  • Увеличение размера изображения увеличивает точность. На нашем компьютере компромисс между скоростью и точностью достигается в районе 200x200 пикселей.
  • Траектория захвата камеры также напрямую влияет на точность. Используя сферическую траекторию захвата вместо круговой (см. рисунок 9), мы значительно повышаем производительность нашей модели: точность намного выше, чем меньше эпох. Использование сферической траектории просто кажется более целостным способом передать аспект данной формы.

На рисунке 10 показаны типичные результаты классификатора для четырех различных пользовательских входов.

  • Еще интереснее производительность одной и той же модели, запущенной в процессе 3D-моделирования данного пользователя. По мере того, как объект моделируется, достаточно всего нескольких поверхностей, чтобы сдвинуть классификатор в правильном направлении. В результате на ранней стадии процесса моделирования мы можем идентифицировать класс моделируемого объекта. В свою очередь, мы можем предлагать пользователю модели из нашей базы данных, потенциально сокращая время 3D-моделирования, если пользователь найдет совпадение среди предложений. На рисунке 11 показаны результаты классификаторов на пяти различных этапах процесса моделирования.

Подробнее на GitHub

C. Соответствие

На втором этапе наша модель пытается найти идеальные совпадения в обширной базе данных 3D-моделей. Если модель классификации помогает сузить область поиска, соответствующая модель ранжирует все 3D-модели из данного класса от «наиболее сходных» до «наименее похожих».

Подробнее на GitHub.

Наша модель сопоставления - это еще одна сверточная нейронная сеть, обученная на изображениях объектов данного класса и проверенная на тех же объектах с видами, взятыми под разными углами. Для тестирования нашим входом будет одно изображение смоделированного пользователем 3D-объекта, а на выходе будет список всех объектов идентифицированного класса в нашей базе данных, упорядоченных в порядке сходства.

Результат

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

Тест был запущен для 7 объектов разных классов и показан здесь, на рисунке 13.

Подробнее на GitHub

III. Вывод

Во-первых, мы поощряем дальнейшее развитие и улучшение вышеупомянутой идеи в нашей отрасли. В этой области сделано очень много, есть решения для смежных областей. Разрешение этим технологиям проникнуть в нашу дисциплину было бы действительно полезно для нашей повседневной практики архитектуры. Кроме того, вложение моделей CNN, как мы это сделали, является лишь одной из возможных версий более широкой концепции: Распознавание и предложение 3D-форм. Другие подходы и модели могут быть развернуты, чтобы сделать широкий спектр общедоступных данных доступным для архитекторов и дизайнеров.

Фактически, помимо простого конвейера, описанного в этой статье, кроется более фундаментальная идея: квалификация архитектурных форм. Как описано в предыдущей статье, способность структурировать каркасы, учитывая неоднородность и сложность существующих форм, скоро станет критически важной для нашей дисциплины. По мере того, как объем цифровых данных увеличивается и объединяется в крупные общедоступные репозитории, наш доступ к этим общим знаниям будет настолько хорош, насколько хорош будет интеллект наших запросов. Как мы продемонстрировали здесь, мы можем полагаться - до некоторой степени - на машинное обучение, чтобы найти общий язык, позволяющий сравнивать разнообразные и сложные формы.

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

Библиография

[1] Многовидовые сверточные нейронные сети для распознавания трехмерных форм, Ханг Су, Субхрансу Маджи, Эвангелос Калогеракис, Эрик Лирнед-Миллер, Массачусетский университет, Амхерст | "ссылка на сайт"

[2] VoxNet: трехмерная сверточная нейронная сеть для распознавания объектов в реальном времени, Даниэль Матурана и Себастьян Шерер | "ссылка на сайт"

[3] Ремиксирование и повторная выборка трехмерных объектов Использование объемных представлений и машинного обучения в дизайне, NJ Namju Lee, Harvard GSD, 2017 | "ссылка на сайт"