Использование искусственного интеллекта для создания 3D-моделей, быстро! |
||
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2022-09-09 00:06 Как использовать код NeRF для создания 3D-моделей Создание 3D-моделей может занять много времени или потребовать огромного набора эталонных изображений. Одним из способов обойти это является нейронное поле излучения (NeRF), метод генерации изображений с помощью искусственного интеллекта. NERFS берут небольшой набор 2D-изображений объекта или сцены, которые вы сделали, и используют их для (эффективного) построения 3D-представления. Это делается путем обучения переходу между изображениями, которые у вас уже есть. Этот переход (или интерполяция, что является немного более причудливым термином) позволяет создавать изображения с новыми ракурсами объекта! Звучит заманчиво, правда? Из небольшого набора изображений вы можете сделать 3D-модель! Это имеет преимущества по сравнению со стандартной фотограмметрией, которая требует огромной библиотеки изображений для создания чего-либо (вам нужно иметь отснятый материал с каждого ракурса). Однако с самого начала мы обещали, что нерфы будут быстрыми, чего до недавнего времени не было. Раньше NeRFs требовалось очень много времени, чтобы научиться преобразовывать ваш набор изображений во что-то 3D.
Библиотека изображений от Daz3D studio https://www.daz3d-poser.net Это уже не так. Nvidia выпустила свое программное обеспечение instant NeRF, которое использует аппаратные средства графического процессора для выполнения необходимых сложных вычислений. Это сократило время, необходимое для создания модели, с нескольких дней до нескольких секунд! NVIDIA делает много захватывающих заявлений о удобстве использования и скорости программного обеспечения instant-ngp. Результаты и примеры, которые они приводят, чрезвычайно впечатляют:
Нерф-образ, который NVIDIA сделала из лаборатории робототехники. Я думаю, это трудно не впечатлить — выглядит великолепно! Я хотел проверить, насколько легко перенести это на мои собственные изображения и создать свои собственные модели NeRF. Поэтому я решил установить и использовать программное обеспечение самостоятельно. В этой статье я расскажу о своих попытках и подробно расскажу о моделях, которые я сделал! Поехали! Так что же мы будем делать? Нам нужны справочные кадры. Давайте запишем что-нибудь, что мы хотим сделать в 3D-формате! Мы возьмем это и перенесем на неподвижные изображения. Этот процесс также пытается понять, с каких ракурсов мы записывали. Мы передаем это в instant-ngp. Затем это обучает искусственный интеллект понимать промежутки между сгенерированными нами изображениями. По сути, это то же самое, что создание 3D-модели. Наконец, мы хотим создать видео о нашем творении! В программном обеспечении, созданном NVIDIA, мы нарисуем траекторию, по которой камера будет обходить модель, а затем отрендерим видео. Я не буду вдаваться в подробности того, как все это работает (хотя не стесняйтесь задавать вопросы!), Но я помещу ссылки на множество ресурсов, которые я нашел полезными. Вместо этого я сосредоточусь на видео, которые я сделал, и на небольших фрагментах путешествия, на которые я наткнулся. Мои Попытки (он же Неряшливо Выглядящий Нерф-Пастух) Не буду врать, мне было трудно это установить. Хотя инструкции ясны, я чувствую, что когда речь заходит о конкретных версиях программного обеспечения, которые вам нужны, остается меньше места для маневра, чем подразумевается в разделе требований репозитория. Использование CUDA 11.7 или VS2022 казалось мне невозможным, но я думаю, что именно возврат к 11.6 и VS2019 помог ускорить процесс установки. У меня было много ошибок, таких как: CUDA_ARCHITECTURES пусто для target. Это вызвано тем, что CUDA не хочет хорошо работать с Visual Studio. Я действительно рекомендую это видео и этот репозиторий для дальнейшей помощи в настройке всего! Кроме того, процесс проходит гладко. Предоставляются скрипты на Python, которые помогут преобразовать видео, которое вы снимаете, в изображения, а затем на следующем этапе преобразовать его в модель, а затем в видео. Попытка 1: Автомобиль Lego Сначала я попытался сконструировать маленькую машинку Lego в офисе. Я думаю, что моим фотографическим навыкам не хватало, так как я вообще не смог создать ничего толкового. Просто странное 3D-пятно. Хотя почему? Что ж, давайте посмотрим на один из примеров, которые предоставляет нам NVIDIA. Обратите внимание на расположение камеры:
Размещение “камеры” для стандартного NeRF Особенностью установки, которая будет хорошо тренироваться, является расположение “камер”, как указано выше. Эти камеры представляют собой ракурсы, с которых, по мнению программного обеспечения, вы смотрели, когда снимали видео. Это должен быть красивый круг. С моей первой машиной Lego все было совсем не так, а скорее сплющенный полукруг. Попытка 2: Автомобиль Lego (но на этот раз больше!) Пытаясь извлечь уроки из своей первой попытки, я нашел стол, который мог полностью обойти, и нашел большую машину Lego. Я тоже старался быть уверенным, что стреляю дольше, чем раньше. В итоге у меня была 1 минута плавного отснятого материала со всех ракурсов. Я обучал модель менее чем за 30 секунд. После 4 часов рендеринга в 720p это видео, которое я сделал:
Мой второй нерф — автомобиль Lego Technic! Попытка 3: Растение Итак, попытка 2 была лучше, по крайней мере, технически она сработала. Тем не менее, есть странный туман, и он не очень резкий. Для моей следующей попытки я также попытался снимать с более дальнего расстояния (я предположил, что туман вызван тем, что ИИ “запутался” в том, что там находится). Я попытался больше контролировать aabc_scale (показатель того, насколько велика сцена), а затем тренировал его в течение нескольких минут. После рендеринга видео выглядит следующим образом:
Нерф, который я сделал из растения на столе в моей гостиной. Так намного лучше! Что здесь невероятно впечатляет, так это то, как ему удалось так точно передать горшок для вязания крючком, канавки в дереве и замысловатость листьев. Посмотрите на этот маленький взмах камеры сквозь листву! Попытка 4: Итак, мы становимся все лучше и лучше! Тем не менее, я хочу один из внешних — давайте попробуем его. Я отснял чуть менее 2 минут видеоматериала за пределами своей квартиры и начал его обрабатывать. Это было особенно сложно для рендеринга / обучения. Я предполагаю, что мое значение aabc_scale было довольно высоким (8), и поэтому “лучи” рендеринга должны были выходить довольно далеко (т.Е. Количество материала, которое я хотел отобразить, было больше). Мне пришлось переключиться на 480p и снизить частоту кадров рендеринга до 10 (с 30). Это показывает, что ваш выбор настроек действительно влияет на время рендеринга. После 8 часов рендеринга я сделал это:
Нерф, которого я сделал возле своей квартиры. Я думаю, что попытка 3 по-прежнему остается моей любимой. Я думаю, что мог бы сделать попытку 4 немного лучше. Однако перебирать версии и пробовать разные настройки рендеринга и обучения сложно, когда время рендеринга сейчас так велико. Даже настройка ракурсов камеры для рендеринга сейчас затруднена, из-за чего программа становится для меня вялой. Тем не менее, какой удивительный результат: всего за минуту или две видео у меня получилась подробная, реалистичная 3D-модель! Плюсы и минусы Я думаю, что самое впечатляющее то, что при отснятом материале продолжительностью 1-2 минуты человек, совершенно не обученный фотограмметрии (я), может создать работоспособную 3D-модель. Это требует некоторых технических ноу-хау, но как только вы все установите, оно станет гладким и простым в использовании. Преобразование видео в изображения работает хорошо, для этого предоставляются скрипты на Python. Как только они будут сделаны, ввод данных в искусственный интеллект происходит плавно. Тем не менее, и в этом трудно винить NVIDIA, но я чувствую, что должен упомянуть об этом: для этой штуки требуется довольно мощный графический процессор. У меня в ноутбуке есть T500, и он доводит его до абсолютного предела. Обучение действительно занимает больше времени, чем заявленные 5 секунд, и попытка рендеринга в формате 1080 приводит к сбою программы (я динамически рендерил около 135 * 74). Теперь это все еще огромное улучшение по сравнению с предыдущей реализацией NeRF, которая заняла несколько дней. Я не думаю, что у всех есть 3090, который можно использовать для подобных проектов, поэтому стоит кратко упомянуть об этом. Низкая производительность затрудняла использование программы, особенно когда я пытался “полетать” камерой по кругу, чтобы настроить свои отрисованные видео. Тем не менее, трудно не быть впечатленным результатами этого процесса. Другой проблемой, с которой я столкнулся, было нахождение render.py (что, как вы можете догадаться, жизненно важно для рендеринга видео). Очень странно, что его нет в репозитории, хотя он часто упоминается в большинстве рекламных статей и других частей документации. Мне пришлось выкопать его отсюда. Наконец, я также хотел бы иметь возможность извлекать их в формате .obj — может быть, это уже возможно?
GIF с изображением лисы — это сделал не я, а NVIDIA. Хорошая работа, а? Заключительные мысли и что будет дальше Что это заставляет меня задуматься, так это DALL-E, искусственный интеллект, генерирующий изображения. Это стало невероятно популярным, отчасти из-за того, насколько легко оно доступно. Это дало людям невероятно классный пример того, на что способны модели искусственного интеллекта, и какие у них есть ограничения. Это вошло в поп-культуру (или, по крайней мере, широко представлено в моем Твиттере), когда люди создают свои собственные странные картинки и делятся ими. Я мог бы представить, что нечто подобное происходит и с этой технологией. Вирусный потенциал веб-сайта, который может позволить абсолютно любому загрузить видео и создать 3D-модель, которой вы могли бы поделиться со своими друзьями, огромен. Почти неизбежно, что в конце концов кто-то это сделает. Лично я с нетерпением жду возможности поэкспериментировать с этим еще. Я хочу иметь возможность создавать суперреалистичные модели, а затем загружать их в AR / VR. Оттуда вы могли бы проводить встречи в этом пространстве — разве это не было бы забавно? Поскольку вам нужна только камера на вашем телефоне, большая часть оборудования, необходимого для этого, уже находится в руках пользователей. В целом, я действительно впечатлен. Возможность снять 1 минуту видео на свой телефон и превратить его в модель, которую вы можете пошагово просмотреть, - это потрясающе. Да, рендеринг занимает некоторое время, и его немного сложно установить, но результаты отличные. После пары попыток я уже получал действительно классный результат! Я с нетерпением жду новых экспериментов! Источник: towardsdatascience.com Комментарии: |
|