Skip to content

Mars0414/yolo_project

Repository files navigation

YOLO Project — Определение проникновения человека

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

Этот проект — реализация системы компьютерного зрения, которая определяет пересечение людьми границ запретной зоны. Решение базируется на YOLOv8 для детекции и кастомной логике на OpenCV, которая анализирует вхождение человека в зону с помощью многоточечной проверки.

Ключевые возможности

  • Детекция объектов: Использование модели YOLOv8m для точного определения людей.
  • Многоточечная проверка (Grid Check): Вместо проверки одной точки, алгоритм анализирует 9 контрольных точек на теле человека:
    • 3 уровня высоты: Низ, 25% от низа, 50% от низа.
    • 3 позиции по ширине: Левый край, Центр, Правый край.
  • Высокая чувствительность: Благодаря проверке сеткой точек, система фиксирует нарушение, даже если в зону попала только часть тела, а не только центр.
  • Инерция тревоги: Сигнал ALARM остается активным в течение 3 секунд после выхода нарушителя. Это предотвращает "мигание" интерфейса при кратковременной потере детекции.
  • Полная визуализация: Отрисовка зоны охраны, статусов и сохранение итогового видео без потери кадров.

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

yolo_project/
├── main.py                 # Точка входа: цикл обработки видео, YOLO, запись результата
├── detect.py               # Математическая логика проверки вхождения точек в полигон
├── zone_identify.py        # Утилита для ручной разметки зоны (zone_identify)
├── restricted_zones.json   # Файл с сохраненными координатами зоны
├── architecture.md         # Описание архитектурных решений
├── requirements.txt        # Список зависимостей
├── test_video.mp4          # Исходное видео
└── result_video.mp4        # Результат работы алгоритма  

Установка и запуск

  1. Клонирование репозитория git clone https://github.com/Mars0414/yolo_project.git cd yolo_project
  2. Установка зависимостей pip install -r requirements.txt (Если вы используете Git LFS): git lfs install git lfs pull

Технологический стек

Python 3.11+ Ultralytics YOLO (Computer Vision) OpenCV (Image Processing) NumPy (Math)

Releases

Packages

Contributors

Languages