Skip to content

bl4ckse4m/floor-detection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Задача

Данное приложение предназначено для разметки плана квартиры и создания ведомости по ее метражу.

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

Иснтрукция по запуску

Как установить

Poetry

pip install poetry
poetry install

Запустить streamlit модуль

streamlit run app.py

Как пользоваться приложением

Перейти по локальному URL http://localhost:8501 (должен открыться автоматически)

Нажать кнопку Browse files чтобы загрузить изображения (можно выбрать несколько изображений из файловой системы с jpeg/jpg/png форматами)

Нажать кнопку Infer чтобы получить результаты работы модели

Нажать Download кнопку, чтобы загрузить результаты в предложенных xlsx или csv форматах

Описание решения

  • Детекционная модель: Yolo11.
  • OCR модель: EasyOCR.

Пайплайн:

  1. Обучение модели на входных данных.
  2. Предсказание на файле или директории с файлами.
  3. Возврат массива результатов.

Каждый элемент массива проходит следующие этапы:

  • Получение boxes (разметка) и classes (классы объектов).

  • Вырезание box по каждому классу и передача в EasyOCR.

  • OCR возвращает значение или ничего, если текст не распознан.

  • Данные сохраняются в словарь и добавляются в результирующий массив.

  • Результирующий массив оборачивается в dataframe.

  • Код модели добавлен в model.py, веса модели в /weigths.

  • В app.py описаны основные элементы веб-приложения:

    • Загрузка файлов.
    • Отображение загруженных изображений.
    • Обработка изображений.
    • Вывод полученного датасета.
    • Кнопки для скачивания.
    • Выдвижной список для изображений.
    • Сохранение состояния кнопок и выводов.

Типы значений в датасете:

  • ND (Not Detected) – комнату данного класса модель не обнаружила.
  • 0 – OCR не распознал число внутри комнаты.
  • {Number} est – приблизительная оценка (низкий confidence).
  • {Number} – число, распознанное с высокой уверенностью.

Ссылки

Этот проект на kaggle

https://www.kaggle.com/code/sensum/floor-scan-yolo11-easyocr

Использованные датасеты

About

Floor plan recognition app

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages