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

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

Вначале была Paint. Один из первых, если не первый программный инструмент, помогающий творческим людям проявлять творческий подход. Затем люди начали понимать, насколько компьютеры действительно круты для графической обработки. Теперь у нас есть программное обеспечение Adobe, такое как Photoshop, которое значительно расширяет человеческие способности создавать произведения искусства и редактировать изображения способами, которые раньше были немыслимы. Что дальше? Искусственный интеллект. Чтобы проанализировать эту новую область, я сосредоточился на двух разных областях дизайна: дизайн интерьера и дизайн одежды.

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

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

Итак, цель была проста: революционизировать способ работы дизайнеров с искусственным интеллектом.

В качестве первого шага я создал небольшой набор данных стульев и диванов из Интернета (около 500 образцов). Мне всегда нравился простой дизайн интерьера, и идея объединить ИИ с дизайном интерьера меня очень интересовала. Мне нужно было реализовать архитектуру нейронной сети, которая могла бы извлекать визуальные функции из этих немаркированных данных, и которая в основном могла понять, как выглядит стул. Таким образом, я реализовал сверточный автоматический кодировщик, который узнает, как сжимать исходное изображение до меньшего размера (в моем случае от 240x240 до 15x15), а затем как восстанавливать исходное изображение настолько точно, насколько это возможно. возможный.

Структура узких мест заставляет сеть изучать важные визуальные особенности, которые численно представлены в скрытом пространстве размером 15x15. Это была основная модель приложений, которые я разработал, и о которой я расскажу позже в этом посте.

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

Как эти инструменты могут позволить дизайнеру легко и интуитивно искать в наборе данных о дизайне стульев или дизайне текстиля / одежды? Проецирование всего набора данных в это скрытое пространство позволяет нам легко вычислять расстояния между образцами и, таким образом, выполнять обратный поиск изображений. Хотя есть много способов добиться этого, мне было любопытно проверить производительность «нейронного» обратного поиска изображений, в моем случае с использованием стульев. Ниже показаны некоторые результаты: вы можете выбрать изображение в качестве запроса; сеть (в частности, кодировщик) извлекает скрытое представление, а затем вы можете вычислить расстояние (евклидово, косинусное и т. д.) между запросом и изображениями набора данных. Это значительно упрощает процесс поиска вдохновения для создания эталонного дизайна.

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

Я также обучил Deep Convolutional Generative Adversarial Network создавать новые конструкции стульев с нуля, но небольшой набор данных не позволял получить действительно хорошие результаты, хотя в целом некоторые образцы наборов данных переоснащались. Кроме того, этот метод не позволяет напрямую смешивать различные существующие конструкции.

Вдохновленный подходом pix2pix, я обучил ту же архитектуру принимать чертежи стульев в качестве входных данных, которые в основном представляют собой автоматически вычисленные края изображений в наборе данных, и восстанавливать по ним исходные изображения. Таким образом сеть можно научить создавать проекты, начиная с простых рисунков, сделанных на планшете или даже с помощью мыши. Поскольку мой набор данных был довольно маленьким (обычно используемые наборы данных содержат ~ 10 тыс. Образцов, а мой - около 500), результаты не выдающиеся, но многообещающие: из простого эскиза, сделанного в GIMP с помощью трекпада, сеть может генерировать что-то, напоминающее конструкцию стула. Интересно, как он автоматически изменяет, исправляет и заполняет какую-то часть рисунка, основываясь на собственном опыте того, как должен выглядеть стул.

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

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

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

Сочетание искусственного интеллекта и дизайна действительно вдохновляет меня, поскольку я очень увлечен обоими. Я искренне верю, что ИИ может создать дополненного художника, открывая новые способы поиска и творчества. Людям в этой области, похоже, нравится эта идея, потому что благодаря этому проекту мы выиграли CognitiveHack, хакатон, недавно проведенный в Милане. Задача заключалась в дизайне одежды и способах увеличения способностей и вдохновения дизайнеров. Эта идея была отмечена как лучшая и в будущем будет развиваться в сотрудничестве с модными брендами и компаниями, спонсировавшими мероприятие.