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.
 
 
 
Ярослав Карташов 4340aa0790 Initial project import 4 weeks ago
dataset_prep Initial project import 4 weeks ago
docker Initial project import 4 weeks ago
docs Initial project import 4 weeks ago
tests Initial project import 4 weeks ago
.dockerignore Initial project import 4 weeks ago
Dockerfile Initial project import 4 weeks ago
HOMOGRAPHY_INTEGRATION.py Initial project import 4 weeks ago
INTEGRATION_GUIDE.py Initial project import 4 weeks ago
MOTION_SALIENCY_INTEGRATION.py Initial project import 4 weeks ago
README.md Initial project import 4 weeks ago
README_docker.md Initial project import 4 weeks ago
VIDEOCAPTURE.py Initial project import 4 weeks ago
__init__.py Initial project import 4 weeks ago
autogaze_runner.py Initial project import 4 weeks ago
autopilot_bridge.py Initial project import 4 weeks ago
best.pt Initial project import 4 weeks ago
bytetrack_min_aggressive.py Initial project import 4 weeks ago
camera_motion.py Initial project import 4 weeks ago
cbam_register.py Initial project import 4 weeks ago
config.py Initial project import 4 weeks ago
config_intercept.py Initial project import 4 weeks ago
decision_logger.py Initial project import 4 weeks ago
docker-compose.yml Initial project import 4 weeks ago
guidance.py Initial project import 4 weeks ago
helpers.py Initial project import 4 weeks ago
imm_filter.py Initial project import 4 weeks ago
imu_fusion.py Initial project import 4 weeks ago
intercept_fsm.py Initial project import 4 weeks ago
main.py Initial project import 4 weeks ago
motion_saliency.py Initial project import 4 weeks ago
operator_hud.py Initial project import 4 weeks ago
proportional_navigation.py Initial project import 4 weeks ago
range_estimation.py Initial project import 4 weeks ago
requirements-docker.txt Initial project import 4 weeks ago
runtime_env.py Initial project import 4 weeks ago
stationary_killer.py Initial project import 4 weeks ago
target_handoff.py Initial project import 4 weeks ago
template_matching.py Initial project import 4 weeks ago
track_score_policy.py Initial project import 4 weeks ago
trackers.py Initial project import 4 weeks ago
trackers_hybrid.py Initial project import 4 weeks ago
trackers_safe.py Initial project import 4 weeks ago
yolo_worker.py Initial project import 4 weeks ago

README.md

FPV Tracker Optimized

Русская документация для проекта сопровождения и удержания воздушной цели на базе YOLO + ByteTrack + Kalman + KLT.

Проект умеет:

  • принимать видео с файла, камеры, RTSP и UDP-потока;
  • обнаруживать и сопровождать цель;
  • удерживать цель при кратковременной потере детекции;
  • строить команды наведения в экранных координатах;
  • экспортировать команды в json, mavlink, msp и испытательный proto_udp;
  • работать локально или в Docker с GPU.

Быстрый старт

Локальный запуск

  1. Установите Python 3.12 и зависимости.
  2. Проверьте, что модель best.pt лежит в корне проекта.
  3. Настройте SOURCE и MODEL_PATH в config.py.
  4. При необходимости настройте backend в config_intercept.py.
  5. Запустите:
python main.py

Docker-запуск

  1. Установите Docker.
  2. Для GPU установите NVIDIA Container Toolkit на хосте.
  3. Соберите образ:
docker compose build
  1. Запустите:
docker compose up

Комплект документации

Что является точкой входа

Основной 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 — команды автопилота при backend json.

Статус Docker-упаковки

В проекте уже подготовлены:

  • Dockerfile
  • docker-compose.yml
  • docker/entrypoint.sh
  • requirements-docker.txt

После сборки образ рассчитан на запуск без интернета.