/polus_hackathon

Primary LanguageJupyter Notebook

Решение команды Baby Kagglers на Data Science трек в Полюс Хакатоне

Решение данной задачи представляет собой real-time поиск и обнаружение негабарита в рудном потоке, а также разработка аналитического сервиса оценки грансостава руды по видеопотоку. Оценка грансостава необходима для оптимизации работы мельниц. Попадание слишком большой частицы руды (совокупности таких частиц) на конвейер может вызвать блокировку всего потока.

Инструкция для запуска сервиса

  1. Склонировать репозиторий для локального использования
    git clone https://github.com/lnfin/polus_hackathon.git

  2. В директории приложения сбилдить докер образ
    docker build -t service .

  3. Запустить собранный образ
    docker run -p 8501:8501 service

Сайт будет доступен по http://localhost:8501

Справка по работе сайта

Демо

  • Первое, что попадется на глаза это возможность загрузить файл

drag2drop

Выберите видео файл и загрузите его

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

thresh

Необходимо выбрать порог по которому будет выбран негабарит из выпадающего списка

  • После выбора порога будет запущена real-time аналитика оценки грансостава руды по видеопотоку.

start_page

Модель обрабатывает видео и выводит полученные bbox'ы, где красные - негабариты. На правом же графике показано как изменяется тренд грансостава, рост графика означает повышение среднего значения крупности руды, падение - уменьшение среднего. С помощью этого графика можно отслеивать загруженность ленты, опираясь на размеры камней.

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

  • Ниже мы увидим еще пару интересных и полезных графика

second_chart

На это графике, как и на других, на протяжении всего видеопотока транслируется информация о максимальном и минимальном размере камня. С помощью этого графика можно определить когда на ленте +- похожие по размеру или совершенно разные камни.

third_chart

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

Техническая часть

Техническую часть нашего решения вы можете изучить в презентации по ссылке