plan_points / README.md
Daniil
Add application files
d2ab6f5

A newer version of the Gradio SDK is available: 5.21.0

Upgrade
metadata
title: Plan Points
emoji: 🏃
colorFrom: gray
colorTo: pink
sdk: gradio
sdk_version: 5.18.0
app_file: app.py
pinned: false
license: apache-2.0
short_description: Получение координат углов  на изображениях планов помещений

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

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

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

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

Особенности

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

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

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

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

  1. Убедитесь, что у вас установлен Docker.

  2. Скачайте Docker-образ:

    docker pull danielnru/plan_points
    
  3. Запустите контейнер:

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

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

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

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

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

    http://localhost:7860
    

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

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

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

  1. Клонируйте репозиторий:
    git clone https://huggingface.co/spaces/DanielNRU/plan_points
    
  2. Добавьте или обновите файл app.py и requirements.txt (если необходимо).
  3. Разместите файл model.pt в корневой директории.
  4. Закоммитьте и запушьте изменения:
    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