Рубрики
Без рубрики

Рекомендация – Виртуальный ремонт

Виртуальный мир становится больше. Все, от симуляции ракеты до покупок, виртуально … Теги с машинным обучением, Python, дополненной реальностью, реконструкции.

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

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

Какой реконструкция приносит к столу?

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

Технический вид обновления

Я работал над этим проектом и закончил программную версию Реконструировать Использование Python Анкет

Посмотрим, как работает обновление.

Я использовал OpenCV Чтобы получить подачу камеры устройства или IP -камеры для лучшего качества. Используя это, я получаю непрерывный поток кадров, которые я использую для извлечения объекта.

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

Заполнить наводнение с разницей в цвете

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

По всему результату были не так хороши, как шум на картинке Оставлен.

Добавление обнаружения края

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

В этом подходе было несколько недостатков.

Добавление фильтров свертки и сглаживания контура

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

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

Использование BASNET

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

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

И, наконец, сложная часть обновления была готова. Теперь я должен реализовать это в обновлении и создать полезный инструмент.

Интерфейс/ui.

Теперь, чтобы создать интерфейс, я использовал библиотеку Pygame Python, я не использовал другие взаимодействующие библиотеки, такие как TKinter, как я хочу немного гибкоуэй с другой функцией. Итак, я создаю свою библиотеку пользовательского интерфейса для Pygame, которая дала мне гибкость, в которой я нуждался. Кроме того, я использовал несколько шаг, чтобы сделать поток репортаж бесшовные.

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

Вы можете проверить больше о Reallame

GitHub

Оригинал: “https://dev.to/strikeraryu/revamp-virtual-renovation-4j7p”