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.
5.6 KiB
5.6 KiB
Поиск и устранение проблем
1. Не открывается источник видео
Симптом:
Capture open failed
Проверки:
- Верный ли
SOURCE. - Для камеры: правильный ли индекс
0,1,2. - Для RTSP: доступен ли поток из этой сети.
- Для UDP: идет ли поток на указанный порт.
- Для файла: существует ли путь и читается ли файл.
2. Проект запускается, но не использует GPU
Проверки:
- Установлен ли GPU-вариант
torch. - Совместимы ли версия CUDA и wheel
torch. - Видит ли Python CUDA:
import torch
print(torch.cuda.is_available())
- Не стоит ли CPU-only wheel.
3. В Docker нет GPU
Симптом:
- внутри контейнера
torch.cuda.is_available() == False
Проверки:
- Установлен ли NVIDIA драйвер на хосте.
- Установлен ли NVIDIA Container Toolkit.
- Поддерживает ли ваш Docker runtime
gpus: all. - Не запущен ли контейнер на машине без доступной NVIDIA GPU.
4. В Docker не видна обычная webcam на Windows
Это типичная проблема Windows Docker Desktop.
Практические варианты:
- использовать RTSP;
- использовать UDP-видеопоток;
- использовать внешний capture-процесс вне контейнера;
- запускать локально на Windows без Docker.
5. Есть видео, но нет детекций
Проверки:
- Тот ли
MODEL_PATH. - Совместима ли модель с текущим кодом.
- Правильный ли
TARGET_CLASS_ID. - Не слишком ли высокий
CONF. - Реально ли цель различима на этом разрешении.
6. Появляются детекции, но guidance не следует за ними
Важно:
- guidance строится не по "любой текущей рамке YOLO", а по выбранному lock/tracker state;
- при miss может работать удержание через Kalman/KLT;
- статус
HOLDиREACQозначают, что проект находится не в чистой детекции.
Проверки:
- Что в overlay пишется в строках
miss,KLT valid,G HOLDилиG REACQ. - Есть ли свежий
track_log_*.csv. - Не слишком ли жесткие условия handoff/switch.
7. Не создается guidance_state.json
Проверки:
- Включен ли
GUIDANCE_EXPORT_ENABLE. - Есть ли права на запись в каталог.
- Не держит ли файл другой процесс.
Если в логах есть:
Permission denied: guidance_state.json.tmp
это обычно означает, что файл временно заблокирован другим процессом или watcher'ом.
8. Не работает proto_udp
Проверки:
AUTOPILOT_BACKEND = "proto_udp"PROTO_UDP_ENABLE = True- Правильные ли
HOSTиPORT - Видит ли сеть UDP-пакеты
- Совпадает ли формат пакета с приемником
Практическая проверка:
- поднимите простой UDP listener;
- убедитесь, что приходят пакеты при наличии цели.
9. Не работает mavlink
Проверки:
- Установлен ли
pymavlink - Верный ли
MAVLINK_CONNECTION - Доступен ли endpoint
- Нет ли firewall/маршрутизации, блокирующих UDP
10. Не работает msp
Проверки:
- Установлен ли
pyserial - Верный ли
MSP_PORT - Верный ли
MSP_BAUD - Есть ли права доступа к порту
11. Видео не пишется
Проверки:
SAVE_INFER_VIDEO = True- Каталог записи существует
- OpenCV может открыть
VideoWriter - Кодек
mp4vподдерживается в вашей среде
12. Проект слишком медленный
Проверки:
- Есть ли GPU.
- Не работает ли все на CPU.
- Не слишком ли тяжелый full-frame режим.
- Не включены ли лишние debug-наложения.
- Не используется ли
SHOW_OUTPUTтам, где окно не нужно.
13. Сборка Docker слишком тяжелая
В проекте уже добавлен .dockerignore, который исключает:
cvat/dataset_prep/- видео
- старые логи
- архивы
Если сборка все равно тяжелая, проверьте:
- не лежат ли рядом новые большие файлы, не попавшие в ignore;
- не добавлены ли лишние каталоги в build context.
14. Что сделать перед обращением к разработчику
Подготовьте:
- какой источник видео использовался;
- локальный запуск или Docker;
- backend команд;
- последние
track_log_*.csvиtrack_summary_*.json; - скриншот overlay;
- точный текст ошибки.