You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.7 KiB
3.7 KiB
FPV Tracker Optimized
Русская документация для проекта сопровождения и удержания воздушной цели на базе YOLO + ByteTrack + Kalman + KLT.
Проект умеет:
- принимать видео с файла, камеры, RTSP и UDP-потока;
- обнаруживать и сопровождать цель;
- удерживать цель при кратковременной потере детекции;
- строить команды наведения в экранных координатах;
- экспортировать команды в
json,mavlink,mspи испытательныйproto_udp; - работать локально или в Docker с GPU.
Быстрый старт
Локальный запуск
- Установите Python 3.12 и зависимости.
- Проверьте, что модель
best.ptлежит в корне проекта. - Настройте
SOURCEиMODEL_PATHвconfig.py. - При необходимости настройте backend в
config_intercept.py. - Запустите:
python main.py
Docker-запуск
- Установите Docker.
- Для GPU установите NVIDIA Container Toolkit на хосте.
- Соберите образ:
docker compose build
- Запустите:
docker compose up
Комплект документации
- Полный runbook
- Архитектура проекта
- Справочник конфигурации
- Испытательный UDP-протокол
- Поиск и устранение проблем
Что является точкой входа
Основной runtime проекта запускается через:
python main.py
В проекте нет полноценного CLI с аргументами командной строки. Конфигурация задается:
- напрямую через
config.py; - напрямую через
config_intercept.py; - через env-переменные, если проект запускается в контейнере или через shell.
Основные файлы
main.py— основной цикл обработки видео.config.py— настройки источника, детектора, трекинга, ROI и вывода.config_intercept.py— настройки наведения, range/PN/FSM и backend'ов.guidance.py— экранный guidance и экспортguidance_state.json.autopilot_bridge.py— отправка команд наружу.runtime_env.py— env-overrides для контейнера и shell-запуска.bytetrack_min_aggressive.py— локальная реализация ByteTrack.
Что генерируется во время работы
В зависимости от настроек проект может создавать:
out_infer_*.mp4— видео с наложениями;track_log_*.csv— покадровый лог;track_summary_*.json— сводка по прогону;guidance_state.json— текущее состояние guidance;autopilot_cmd.json— команды автопилота при backendjson.
Статус Docker-упаковки
В проекте уже подготовлены:
Dockerfiledocker-compose.ymldocker/entrypoint.shrequirements-docker.txt
После сборки образ рассчитан на запуск без интернета.