CoolFace
Apppublic

DanielNRU/plan_points

sourceHugging Faceapache-2.0updated 2y agoView on Hugging Face
1likes
App README

Plan Points - Детекция комнат по плану помещения

Описание проекта

Plan Points — это проект, который преобразует планы помещений в координаты опорных точек (углов). С использованием предобученной модели YOLO и Gradio, приложение позволяет:

  • —Загружать изображение плана помещения
  • —Выполнять детекцию объектов класса "room"
  • —Выводить аннотированное изображение с наложенными полигонами
  • —Отображать список координат углов для каждой обнаруженной комнаты

Особенности

  • —Детекция комнат: Использование модели YOLO для выявления помещений на плане.
  • —Упрощение полигона: Оптимизация набора точек для выделения действительных углов комнат.
  • —Gradio-интерфейс: Удобное веб-приложение для демонстрации работы модели.
  • —Интеграция с Hugging Face Spaces: Легкое развертывание проекта в облаке.

Быстрый старт

Локальный запуск с использованием Docker

Для запуска приложения локально через Docker выполните следующие шаги:

  1. 1.Убедитесь, что у вас установлен Docker.
  1. 1.Скачайте Docker-образ:
bash
   docker pull danielnru/plan_points
  1. 1.Запустите контейнер:

Если у вас доступен GPU, используйте команду:

bash
   docker run --gpus all -p 7860:7860 danielnru/plan_points

Если GPU не используется, запустите контейнер так:

bash
   docker run -p 7860:7860 danielnru/plan_points
  1. 1.Откройте приложение в браузере:

После успешного запуска контейнера откройте браузер и перейдите по адресу:

   http://localhost:7860

Здесь вы сможете воспользоваться Gradio-интерфейсом для загрузки изображений и получения результатов детекции комнат.

Развертывание на Hugging Face Spaces

Проект уже настроен для работы на Hugging Face Spaces. Для развертывания:

  1. 1.Клонируйте репозиторий:
bash
   git clone https://huggingface.co/spaces/DanielNRU/plan_points
  1. 1.Добавьте или обновите файл app.py и requirements.txt (если необходимо).
  2. 2.Разместите файл model.pt в корневой директории.
  3. 3.Закоммитьте и запушьте изменения:
bash
   git add .
   git commit -m "Обновление приложения"
   git push

После сборки ваш Space будет доступен по соответствующему URL.

Структура проекта

.
├── app.py               # Основное приложение Gradio
├── model.pt             # Файл весов модели YOLO
├── requirements.txt     # Зависимости Python
└── README.md            # Описание проекта

Зависимости

Проект использует следующие Python-библиотеки:

  • —gradio – для создания веб-интерфейса
  • —opencv-python-headless – для работы с изображениями
  • —numpy – для математических операций
  • —ultralytics – для работы с моделью YOLO
  • —torch и torchvision – для работы с deep learning моделями

Все зависимости перечислены в файле requirements.txt.

Контакты

Разработчик: Мельник Даниил Владимирович GitHub: DanielNRU Hugging Face: DanielNRU