Skip to content

IvanKarpovich/computer_vision

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f5be9f1 · Nov 1, 2024

History

24 Commits
Nov 1, 2024
Nov 1, 2024
Nov 1, 2024
Nov 1, 2024
Nov 1, 2024

Repository files navigation

Детекция и отрисовка людей. Компьютерное зрение

Для детекции людей в данном проекте используется модель YOLOv11 (You Only Look Once) с предобученными весами.

image Пример работы программы приведен по ссылке.

Установка

  1. Скопируйте этот репозиторий:
    git clone https://github.com/IvanKarpovich/computer_vision.git
    cd computer_vision
    
  2. Создайте виртуальную среду:
    conda create --name computer_vision
    conda activate computer_vision
    
    Установите в нее необходимые пакеты:
    pip install -r requirements.txt
    
  3. Загрузите веса модели YOLOv1: yolo11n.pt (скрипт автоматически загружает модель YOLO, если она не найдена в директории проекта)

Использование

Запустите скрипт, используя следующую команду: python main.py [options]

Опции командной строки

  • --classes: идентификаторы классов для обнаружения (по умолчанию: обнаруживаются только люди). 0 - только люди 1 - все доступные классы
  • --input_video_path: название видеофайла в директории с проектом (по умолчанию: «input.mp4»).
  • --output_video_path: название видеофайла с результатами детекции (по умолчанию: «output.mp4»).

Пример использования

Обнаружение только определённых классов (например, людей) в видеофайлах:

python main.py --classes 0  --input_video_path input.mp4 --output_video_path output.mp4

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

  • main.py: основной скрипт, содержащий все классы и функции.
  • YOLO_Object_Detection: класс для работы с моделью YOLO, а также загрузки данных и параметров.

Формат вывода

Обработанные видео сохраняются в указанной выходной директории. В каждом кадре отображается обнаруженные объекты с ограничивающими рамками и метками.

Результаты и возможные улучшения

  • Для большинства bounding box'ов уровень уверенности порядка 0.75
  • VOLOv11 позволяет подсчитать количество объектов каждого детектируемого класса, однако некоторые bounding box'ы пропадают, а значит не возможно заниматься трекингом выделенного объекта в процессе всего видео.
  • Нейросеть не распознает людей на заднем фоне, а только тех, что на переднем плане (можно было бы уменьшить порог уверенности, чтобы обнаруживать больше людей. но тогда будет больше и ложно положительных срабатываний). Также для детекции желательно, чтобы каждый объект не перекрывался другими предметами.
  • Можно в последствии добавить возможность не только детекции людей, но и сегментации.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages