Skip to content

dmmmit/smoking_detection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚭 Обнаружение курения в запрещенных зонах

📄 Обзор

Цель проекта — обучить модель YOLOv8 для обнаружения факта курения в запрещенных зонах на основе скриншотов с камер видеонаблюдения. Это поможет контролировать соблюдение политики запрета курения и повысить эффективность ее исполнения.

🏆 Участие в хакатоне

Проект был создан в рамках Nuclear-hack 2024.
Кейс: Детекция курильщиков в запрещенных зонах.

🔍 Ход работы

Для начала мы использовали доступные в интернете датасеты и обучили модель на их основе. В нашем наборе данных было около 3000 размеченных изображений, к которым мы добавили еще 1000 изображений с собственной разметкой. Однако, после обучения результаты оказались недостаточными — сигареты на предоставленных заказчиками изображениях обнаруживались слабо. Проблемы возникли из-за низкого качества некоторых изображений: из 3000 картинок 76 изображений были замылены, что привело к снижению точности модели.

Метрика-1 Метрика-2

Метрика-3 Метрика-4

  • BigData NOTEBOOK
  • BigData Model

🧪 Исследование

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

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

Метрика-1 Метрика-2 Метрика-3

  • RedLight NOTEBOOK
  • RedLight Model

💨 Детекция дыма

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

Метрика-1 Метрика-2

  • SmokeDetect NOTEBOOK
  • SmokeDetect Model

🏁 Финальная модель

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

  • Final NOTEBOOK

🤖 Telegram-бот

Для удобной работы с основной моделью мы разработали Telegram-бота, который принимает изображение, обрабатывает его и отправляет пользователю результат в виде вероятности того, что человек на фото курит.

📲 Ссылка на Telegram-бота:
Telegram Bot

🚀 Планы по улучшению

  • Точная настройка модели для повышения производительности.
  • Объединение всех моделей для достижения максимальной точности детекций.
  • Добавление детекции позы человека для более точного определения факта курения.
  • Интеграция с биометрическими базами данных (например, Сбер, mos.ru) для автоматического определения личности нарушителя и выписывания штрафов.

About

smoking detection with YOLO v8

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published