Детектор объектов на фото и видео на основе модели YOLOv11
В Goole Colab ноутбуке находится код приложения с комментариями, демонстрацией распознавания фото и видео через модели YOLOv11 из библиотеки Ultralytics и анализом результатов детекции видео с помощью графиков
- Детекция объектов на изображениях (файл или URL ссылка)
- Детекция видео (файл или ссылка на YouTube) с прогресс баром
- Выбор моделей YOLOv11
- Настройка параметров детекции - IOU и Confidence
- Сохранение результатов детекций к видео в
csv
файл для дальнейшего анализа - Отображение графиков результатов детекции видео прямо в приложении
- python >=3.8
- ultralytics для детекции объектов с помощью моделей YOLOv11
- gradio для написания веб-интерфейса
- pandas для формирования датафрейма и его сохранения в формат
csv
- yt_dlp для загрузки видео с YouTube
Работоспособность приложения проверялась на Ubuntu 22.04 (python 3.10) и Windows 10 (python 3.12)
Проблемы
При деплое на удаленных серверах их IP часто оказываются в черных списках YouTube, поэтому загрузка видео через yt_dlp
может выдавать ошибку
Sign in to confirm you’re not a bot. This helps protect our community #10128
1) Клонирование репозитория
git clone https://github.com/sergey21000/yolo-detector.git
cd yolo-detector
2) Создание и активация виртуального окружения (опционально)
-
Linux
python3 -m venv env source env/bin/activate
-
Windows CMD
python -m venv env env\Scripts\activate
-
Windows PowerShell
python -m venv env env\Scripts\activate.ps1
3) Установка зависимостей
-
С поддержкой CPU
pip install -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cpu
-
С поддержкой CUDA 12.4
pip install -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cu124
Страница устанвки Pytorch где можно выбрать --extra-index-url
для других версий CUDA
4) Запуск сервера Gradio
python3 app.py
После запуска сервера перейти в браузере по адресу http://localhost:7860/
Приложение доступно через некоторое время после запуска (после первоначальной загрузки моделей)
Для запуска приложения с поддержкой GPU CUDA необходима установка NVIDIA Container Toolkit.
С поддержкой CPU
docker run -d -p 7860:7860 -v ./models:/app/models sergey21000/yolo-detector:cpu
С поддержкой CUDA
docker run -d --gpus all -p 7860:7860 -v ./models:/app/models sergey21000/yolo-detector:cuda
1) Клонирование репозитория
git clone https://github.com/sergey21000/yolo-detector.git
cd yolo-detector
2) Сборка образа и запуск контейнера
-
С поддержкой CPU
Сборка образа
docker build -t yolo-detector:cpu -f Dockerfile-cpu .
Запуск контейнера
docker run -d -p 7860:7860 -v ./models:/app/models yolo-detector:cpu
-
С поддержкой CUDA
Сборка образа
docker build -t yolo-detector:cuda -f Dockerfile-cuda .
Запуск контейнера
docker run -d --gpus all -p 7860:7860 -v ./models:/app/models yolo-detector:cuda
После запуска сервера перейти в браузере по адресу http://localhost:7860/
Приложение доступно через некоторое время после запуска (после первоначальной загрузки моделей)
Приложение написано для демонстрационных и образовательных целей, оно не предназначалось и не тестировалось для промышленного использования
Этот проект лицензирован на условиях лицензии AGPL-3.0 License.