Программы для расстановки мебели в квартире: 5 программ для онлайн-расстановки мебели в квартире

миф или реальность? / Хабр

Всем привет! Мы — команда Smart vision в Домклик, и мы предлагаем нашим клиентам различные инструменты для помощи в подборе жилья, чтобы им было как можно комфортнее. Один из таких инструментов — автоматическая расстановка мебели, чтобы наши пользователи смогли посмотреть на трёхмерную квартиру с обстановкой и лучше понимали размеры помещения. Пока программа доступна в тестовом контуре внутри экосистемы Домклик. Мы не рассматриваем этот алгоритм в качестве инструмента для идеальной расстановки мебели, это лишь помощь клиенту в расстановке мебели для дальнейшей работы с ней.

Есть много статей о решении этой задачи: с применением GAN, который генерирует на плане помещения цветовую область для размещения мебели; с помощью классических методов на основе набора правил; или с помощью более редких графовых методов. Но все существующие методы объединяет то, что все они или не реализованы (либо находятся в закрытом доступе), или не учитывают, например, окна и двери, а также тип помещения (гостиная, спальня, детская, кухня, санузел и т. д.). Мы постарались избавиться от этих недостатков в своём инструменте.

С чем предстоит работать?

Что у нас есть для начала: 

  • Типы помещений:  коридор,  гостиная, спальня и т.д. 

  • Набор точек по каждому типу в двумерной системе координат: point[x,y]. 

  • Объекты мебели в виде ID, который связывает двумерный и трёхмерный объект. 

  • И подробная методичка от дизайнеров с набором мебели для каждого типа помещения в зависимости от площади комнат.

Первый возникший вопрос: с какими объектами мебели будем работать, с двумерными или трёхмерными? И второй, более фундаментальный: как мы будем решать задачу, с помощью deep learning или методов на основе правил (rules based; кто-то скажет что это куча if-ов)? Мы решили использовать двумерные объекты в формате SVG, потому что с ними проще работать, они представлены набором точек и занимают гораздо меньше памяти для их хранения. А при ответе на второй вопрос мы воспользовались советом «если можно не использовать сетки, то лучше их не использовать» и решили остановиться на методе, основанном на правилах, хотя в дальнейшем не стали исключать возможность использования  методов на основе машинного обучения.

Структура алгоритма

  1. Выбираем помещение для расстановки мебели.

  2. Разбиваем его на подпространства — условные секторы для расстановки мебели.

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

  4. Добавляем мебель в помещение, по умолчанию она встаёт в центр.

  5. Затем раскидываем мебель по подпространствам, рассчитываем её координаты относительно подпространств. Раскидываем «жадно»: берём один объект, находим для него подпространство и перемещаем в него, берём следующий, и так для каждого объекта. При этом учитываем окна и двери, чтобы мебель их не закрывала 

  6. Смещаем мебель к стенам основного помещения, не обращая внимание на подпространства.

  7. Расставим зависимые объекты: мебель, расположение которой зависит от другого объекта, например, прикроватная тумбочка.

  8. Ищем коллизии между объектами и окнами и дверями.

  9. Если коллизий нет, то оставляем текущее расположение мебели; если они есть, то разрешаем их смещением объектов друг относительно друга.

Теперь рассмотрим ключевые этапы алгоритма.

Разделение помещения на подпространства

Делим на квадраты и обязательно нумеруем их. Кстати, мы также рассматривали разделение по алгоритму binary space partitioning, его использовал Джон Кармак в движке DOOM.

Аналоговый тест разбиения на подпространства.
Выбор подпространства для мебели

Получили пронумерованную схему деления помещения на подпространства:

В зависимости от типа помещения и его площади предполагается использовать уникальный набор мебели. Информацию о дальнейшем ей расположении берём из руководства дизайнеров (спасибо им за подробный документ). А также у нас есть ряд правил, по которым те или иные типы мебели должны располагаться в помещении относительно друг друга. Например, диван в гостиной должен быть напротив телевизора на расстоянии не менее 700 мм. Напомню, что необходимо учитывать двери и окна, чтобы мебель их не закрывала.

Теперь у нас есть информация о подпространствах, типах мебели и расположении окон и дверей относительно подпространств. Мы можем составить несколько сценариев расположения мебели в подпространстве в зависимости от расположения дверей и окон. Например:

Перемещение объектов в пространстве.

Спасибо школьной геометрии! Мы использовали композиции параллельных переносов на ориентированный вектор. Что нам для этого необходимо?

Рассмотрим пример перемещения обычного прямоугольного дивана. Мы хотим переставить его из центра помещения, куда он попал по умолчанию, в выбранное для него подпространство (ячейку). Представляем диван как bounding box — четыре точки в двумерном пространстве с координатами x,y — и находим его центр, то есть центроид дивана. Берём выбранное подпространство — это тоже набор точек, в большинстве случаев составляющих прямоугольник — и находим его центр. Теперь у нас есть два центроида, дивана и подпространства. Из них получаем направленный вектор от дивана к подпространству и делаем параллельный перенос на вектор. 

Таким образом мы перемещаем объекты в центр подпространств и поворачиваем их. Изначально вся мебель ориентирована лицом  направлении минуса по оси y, а после первого перемещения объекта мебель поворачивается «спиной» к стене.

Теперь необходимо подвинуть диван к стене. Находим минимальное расстояние от него до основного пространства (часть помещения, не разбитая на подпространства), на выходе получаем две точки: одна на границе дивана, другая — на границе пространства. Далее опять параллельный перенос на вектор, и так со всей мебелью.

Но проблема в том, что если мы помещаем объекты в подпространства и двигаем их один раз к ближайшим стенам, то они легко могут пересекаться между собой, например диван со шкафом. Хорошо, что все объекты представлены в виде bounding box и мы можем легко найти пересечения с помощью библиотеки shapely, предварительно сделав из bbox полигон и применив метод intersection. Также при размещении объектов учитываем:

  1. регламентированную ширину прохода между мебелью;

  2. размеры мебели относительно площади помещения;

  3. мебель не должна закрывать окна и двери.

Расстановка зависимых объектов

Рассмотрим пример с прикроватной тумбочкой и кроватью. После перемещения кровати в её конечное местоположение нужно к ней поставить тумбочку. Сама кровать располагается в определённом подпространстве. Мы можем выбрать соседние свободные ячейки и поместить туда прикроватную тумбочку, после чего подвинуть её до кровати (по описанной выше процедуре, только уже относительно самой кровати), и ещё один раз двигаем тумбочку, теперь до ближайшей стены, чтобы она плотно прилегала к стене и изголовью кровати.

Обработка коллизий объектов мебели, дверей и окон

Начнем с классификации дверей и окон в конкретном помещении. Например, в гостиной может быть три типа дверей и один — окон:

  • входная дверь, она обычно располагается между коридором и комнатой;

  • межкомнатные двери, ведущие в другие помещения;

  • балконные двери.  

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

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

Перемещение шкафа, который закрывал входную дверь.

Результат

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

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

P.S.

Не так давно Nvidia выпустила свой алгоритм автоматической расстановки мебели в трёхмерном пространстве на основе нейронных сетей, который выглядить очень круто, но не учитывает окна и двери и не предлагает предварительно обученных моделей.

Автоматическая расстановка мебели — Planner 5D

Автоматическая расстановка мебели — Planner 5D

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

Оформить ранний доступ

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

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

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

У тебя будет возможность прогуляться по будущей спальне в режиме реального времени. Передовые технологии помогают создать ощущение присутствия и обогатить 3D-модели 2D-картинками.

Мы внедрили различные типы машинного обучения. Функция AFA учитывает сотни факторов и совершенствуется с каждым новым проектом, созданным в Planner 5D.

Сделано в Planner5D

Сообщество пользователей Planner 5D постоянно растет, и за последние 6 лет в нашем приложении было создано более 200 млн проектов.

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

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

НЕ УПУСТИ ВАЖНОЕ

Запроси доступ с помощью адреса электронной почты.

Мгновенно оцифруй свои планировки с помощью нашей интеллектуальной нейронной сети, совместимой с любым проектом интерьера.

Попробуй функцию 3D-меблировки, чтобы «увидеть» планировку и понять, какие детали можно улучшить.

Внимание

Переименовать

Переименовать

Восстановление пароля Введите электронную почту, и мы вышлем новый пароль

Новый пароль отправлен Новый пароль был отправлен на вашу электронную почту. Авторизуйтесь, используя ваш новый пароль.

Вход

Что планируешь делать? Давай настроем Planner 5D для тебя!

Free access

  • Only 5% of interior items are available on a free plan
  • Can’t edit colors, materials and sizes of items to find the perfect fit
  • Can’t create renders to see your design as a realistic image
  • You can add only 5 custom items and materials
  • You can’t study in our online school to learn how to design functional and ergonomic interiors

Premium access

  • You will have access to 6435 interior items to design your dream home
  • You can edit colors, materials and sizes of items to find the perfect fit
  • You can create 60 renders to see your design as a realistic image
  • You can add 60 custom items and materials
  • You get full access to our online school (149+ video lessons) and will learn how to design stunning interiors

Центр поддержки

Отмена

Топ 5 приложений для расстановки мебели

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

К счастью, у большинства из нас (почти у всех, если честно) есть в кармане удобное устройство, которое может помочь. Нужна помощь в расстановке мебели в доме? Так же, как заказать пиццу, проверить свой кредитный рейтинг или включить свет безопасности — для этого есть приложение!

Вот наши 5 лучших приложений для раскладки мебели.

1. Planner 5D (Android и iOS)

Вы хотите получить сверхдетализированные данные? Если да, то Planner 5D для вас. Это приложение позволяет создавать как 2D-, так и 3D-планы этажей на основе размеров вашего дома или двора. Это верно; с помощью этого удобного приложения вы можете планировать как внутреннюю, так и внешнюю планировку. Создайте план этажа на основе размеров вашего дома, выберите мебель из обширного каталога и создайте планировку своей мечты. Это бесплатное приложение доступно для пользователей Android и iOS.

2. Magicplan (только для iOS)

Приложение Magicplan дает вам всю мощь 3D-дизайна. Вы можете превратить фотографии в планы этажей, а затем спланировать свое пространство в 3D. Добавляйте и расставляйте мебель с легкостью. Само приложение бесплатное, но вам нужно будет заплатить за загружаемую версию запланированного пространства (2,99 доллара США).

3. RoomScan Pro (только для iOS)

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

4. IKEA Place(iOS, ссылка на Android ниже)

Настоящий разговор: как сильно вы любите IKEA? Вы когда-нибудь ловили себя на том, что просматриваете их веб-сайт или блуждаете по магазину размером со склад, задаваясь вопросом, впишется ли этот сосновый стол или тележка для бара из нержавеющей стали в ваш дом? Хорошие новости! Новое приложение IKEA позволяет вам буквально разместить их мебель в вашем доме с помощью дополненной реальности. Проверьте это и разместите заказ прямо из приложения.

Для пользователей Android есть еще одно приложение, похожее на это (но без изящной AR-функциональности): приложение IKEA Home Planner.

5. Планируйте свою комнату

Итак, технически это не приложение. Но Plan Your Room — это настолько простая в использовании платформа для планирования макетов, что мы просто не могли не упомянуть о ней. Используя сетку, вы можете наметить свою комнату, а затем добавить предметы мебели (представленные минималистичными линейными рисунками) в зависимости от того, чем вы владеете или хотите владеть. Он прост в использовании и бесплатен.

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

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

Поделитесь этим контентом

Как расставить мебель в новом доме

Как расставить мебель в новом доме — лучшие приложения

30.06.2015 15:01

В Переезд

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

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

RoomScan от Locometric (3/5 звезд*)

Хотя некоторые критикуют его за сложность использовать, это действительно опрятная концепция! Вместо того, чтобы использовать измерительную ленту для создания точного плана этажа, вы просто открываете приложение и сканируете комнату, касаясь телефоном каждой стены, чтобы создать план этажа, который включает размеры и даже расположение дверей и окон. Было бы неплохо иметь это приложение под рукой, когда вы проводите обход своего нового дома.

MagicPlan от Sensopia (4,5/5 звезд)

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

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

Room Planner от главного архитектора (4/5 звезд)

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

Home Design 3D от Anuman (4,5/5 звезд)

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

Amikasa от INDG (4,5/5 звезд)

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

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

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

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

Вот мой конечный продукт. Все это было в течение примерно пяти минут. Я очень рекомендую!

Rooms by List Logic Software (3,5/5 звезд)

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *