ПО «Ловчий. Распознание и наведение» 1.0 — экземпляр для экспертной проверки
ООО «Нейротех», г. Пермь · neurotech.pro · 1@neurotech.pro · +7 (902) 642-8658
Свидетельство о государственной регистрации программы для ЭВМ № 2025611484 от 20.01.2025

Что это
-------
ПО «Ловчий» обнаруживает беспилотные летательные аппараты (БПЛА) в видеопотоке камеры
(RTSP, H.264/H.265) нейронной сетью и автоматически наводит на цель поворотную платформу
(PTZ-камеру) по протоколу ONVIF PTZ: держит цель в центре кадра, при потере цели
останавливает платформу и возвращает её в исходное положение. Оператор может управлять
платформой вручную из окна программы: шаги влево/вправо/вверх/вниз, наведение щелчком
по точке кадра, переключатель «авто/ручной», «Стоп», «Домой». Ведётся журнал срабатываний
(время, кадр-снимок) и протокол всех команд платформе.

Версия 1.0 работает на обычном компьютере x86-64 БЕЗ видеокарты NVIDIA и БЕЗ каких-либо
компонентов NVIDIA (драйвер, CUDA, cuDNN, TensorRT, NVDEC не нужны и не устанавливаются).
Нейросеть считается на процессоре (ONNX Runtime), видео декодируется программно (GStreamer).

Режим имитации платформы (для проверки без поворотной камеры)
--------------------------------------------------------------
В пакет входит служба lovchiy-ptz-sim — программная виртуальная поворотная камера. Она
принимает те же команды ONVIF PTZ (127.0.0.1, порт 8899), что и настоящая платформа,
и вырезает из широкоугольного видео окно «камеры» (30 % ширины исходного кадра), положение
которого задают текущие pan/tilt с ограничениями скорости (до 60°/с) и диапазона.
Окно может выходить за край исходного кадра на половину своего размера (там — чёрное поле,
изображения нет): так центр окна достаёт до любой точки исходного кадра.
Окно отдаётся программе как обычный RTSP-поток. Команды проходят через тот же стек ONVIF,
что и с реальной платформой. Это режим проверки и настройки, а не работа с реальной
платформой.

Тестовые видео — собственная съёмка полётов БПЛА ручной камерой, приведённая к неподвижному
широкому кадру (стабилизация: кадры совмещены по фону, фон собран медианой, поверх него —
текущий кадр). Цель не добавлялась и не перемещалась: БПЛА пролетает через широкий кадр так,
как летел при съёмке. Края кадра, не попавшие в съёмку, заполнены соседними участками фона.

Требования: Ubuntu 22.04 LTS или 24.04 LTS (x86-64), процессор от 8 ядер (для 10 кадров/с
на поток 1080p — с частотой под нагрузкой от 3,5 ГГц), ОЗУ от 16 ГБ, доступ к штатным
репозиториям Ubuntu (apt ставит зависимости), около 1 ГБ на диске.

Состав
------
  lovchiy-server_1.0_amd64.deb      программа, наведение ONVIF PTZ, служба имитации, нейросеть,
                                    библиотеки (OpenCV без CUDA, ONNX Runtime)
  lovchiy-gui_1.0_amd64.deb         окно оператора с панелью управления платформой
  video/wide_a_h264.mp4             БПЛА пролетает через кадр справа налево у опоры ЛЭП, 2432x1016, H.264, 8,5 с
  video/wide_b_h265.mp4             БПЛА над полем у ЛЭП: влево, разворот, вправо; 2056x1048, H.265, 7,5 с
  video/negative_birds_h264_720p.mp4   чайки над водой у опор ЛЭП (негативное видео), 1280x720, 6,6 с
  video/*.mp4.sim                   ключи имитатора для видео: начальное положение окна (там, где пролетает
                                    БПЛА) и размер окна для негативного видео (тот же масштаб изображения)
  run_test.sh                       проверка в режиме имитации на всех видео без окна, со сводкой;
                                    bash run_test.sh --gui — то же с окном оператора
  COMPONENTS.txt                    перечень сторонних компонентов и лицензий
  SHA256SUMS.txt                    контрольные суммы файлов

Установка и проверка — 5 команд
-------------------------------
  1)  sudo apt update && sudo apt install -y unzip
  2)  unzip lovchiy-demo.zip && cd lovchiy-expert-1.0      (файл lovchiy-expert-1.0.zip, на сайте -- lovchiy-demo.zip)
  3)  sudo apt install -y ./lovchiy-server_1.0_amd64.deb ./lovchiy-gui_1.0_amd64.deb
  4)  lovchiy-check
        печатает: видеокарты (lspci), пакеты NVIDIA в системе (их нет), библиотеки программы,
        связанные с NVIDIA (их нет), строку «backend: CPU», строки «НАВЕДЕНИЕ» (подключение
        к виртуальной камере, «цель захвачена») и число команд платформе
  5)  bash run_test.sh --gui
        окно оператора в режиме имитации. Что должен увидеть эксперт:
        — основной видеоканал — окно виртуальной камеры; желтая рамка — центральная зона 20 %
          кадра, зелёная — мёртвая зона регулятора; БПЛА обведён красной рамкой;
        — справа вверху — обзорная миниатюра всего широкого кадра с жёлтым прямоугольником
          текущего положения окна камеры: прямоугольник движется вслед за БПЛА;
        — строка внизу кадра: «PTZ1 AUTO | LINK OK | pan … tilt … | TRACKING» и строка
          состояния под панелью;
        — панель управления: «АВТО/РУЧНОЙ», шаг в %, стрелки, «СТОП», «ДОМОЙ»; щелчок по точке
          кадра наводит камеру на эту точку (окно имитации движется по командам);
        — слева — «История сработок» / «Последние сработки» с кадрами-снимками.

Дополнительно
-------------
  bash run_test.sh                   все тестовые видео без окна (по 60 с): события, захваты цели,
                                     команды ONVIF, доля кадров с целью в центральной зоне,
                                     задержка «кадр -> команда»; протоколы — в «результаты_ДАТА»
  lovchiy --sim=video/wide_b_h265.mp4          окно оператора на выбранном видео
  lovchiy --url1=rtsp://IP:554/путь --ptz1=onvif://admin@IP:80   камера и платформа ONVIF PTZ
                                     (пароль ONVIF — PTZ_PASSWORD в /etc/lovchiy/lovchiy.conf или
                                     в ~/.config/lovchiy/lovchiy.conf; в протоколы не выводится)
  lovchiy --ptz-mode=manual ...      только ручное управление; --ptz-mode=off — только обнаружение
  lovchiy-ptz-check onvif://admin@IP:80 status|left|right|up|down|stop|home|presets
                                     проверка связи с платформой и ручные команды из консоли
  sudo systemctl start lovchiy-ptz-sim         служба имитации как системная (видео — SIM_SOURCE
                                     в /etc/lovchiy/ptz-sim.env)
  Протокол команд платформе: ~/.local/share/lovchiy/logs/ptz_ДАТА.csv — время, команда,
  pan/tilt/zoom, ошибка наведения (доли кадра), задержка «кадр -> команда», примечание,
  уверенность сети. Строки Detect/Capture/Track — обнаружение кандидата, захват, ведение цели.
  Строки VO — визуальная одометрия: оценка поворота камеры по кадрам и сравнение с платформой.
  Оповещения Telegram / MAX / SMS — как в ПО «Анти-Дрон»: TG_TOKEN и BOT_CHAT, MAX_TOKEN и MAX_CHAT,
  SMSC_LOGIN, SMSC_PASSWORD, SMS_PHONE в ~/.config/lovchiy/lovchiy.conf (chmod 600).
  Настройки по умолчанию: /etc/lovchiy/lovchiy.conf

Учётная запись виртуальной камеры: admin / lovchiy (только локальная служба 127.0.0.1;
не пароль реального устройства).

ПО «Ловчий» ставится рядом с ПО «Анти-Дрон» 1.1 без конфликтов: свои каталоги (/opt/lovchiy,
/etc/lovchiy, /var/lib/lovchiy), свои службы (lovchiy-server, lovchiy-ptz-sim) и порты (8899, 8556).

Удаление: sudo apt remove lovchiy-gui lovchiy-server
