Типичные сценарии BirdLense Hub
Сценарий 1: Минимальная установка (только видео)
Цель: Детекция птиц по видео с одной камеры, без MQTT и уведомлений.
- Установить Go2RTC (standalone или в Frigate).
- Добавить камеру в Go2RTC.
- Запустить BirdLense:
make pullвapp/. - Настройки → Видео: URL Go2RTC (
http://IP:1984). - Настройки → Камеры: добавить stream name.
- Триггер: OpenCV motion (по умолчанию).
Результат: Записи при движении, YOLO-классификация (EU: birds-525 + iNaturalist, ~491 вид).
Сценарий 2: Европейские птицы (Frigate + Bird Classification)
Цель: Точное определение европейских видов (сойка, синица и т.д.).
- Frigate с включённым Bird Classification (
classification.bird.enabled: true). - MQTT: Frigate публикует в
frigate/eventsсsub_label. - BirdLense: Настройки → MQTT — broker, топик Frigate. Motion source: Frigate (триггер записи по событиям Frigate).
- Слияние: YOLO + Frigate автоматически. Один результат на вид, max confidence.
Результат: Eurasian Jay вместо Mourning Dove, если Frigate распознал сойку.
Сценарий 3: Аудио (BirdNET-Pi/Go)
Цель: Распознавание по голосу в дополнение к видео.
- BirdNET-Pi или BirdNET-Go публикует в MQTT топик
birdnet. - BirdLense: Настройки → MQTT — broker, топик BirdNET.
- Слияние: YOLO + Frigate + BirdNET по времени (merge_window).
- Спектрограмма — генерируется только когда в окне записи пришло сообщение от BirdNET о распознавании. Автоматически и обязательно в этом случае. Визуализация аудио для сопоставления с детекциями BirdNET.
Результат: Вид из аудио добавляется к видео-детекциям или повышает confidence. Вкладка «Аудио» в плеере показывает спектрограмму.
Сценарий 4: Уведомления в Telegram
Цель: Push при обнаружении птицы.
- Создать бота (@BotFather → /newbot).
- Получить chat_id (например, через @RawDataBot).
- Настройки → Уведомления: токен, chat_id, base_url (URL Hub для ссылок).
- Включить
link_preview_largeдля превью ссылок (Bot API 9.4).
Результат: Сообщение «Eurasian Jay Detected» с кнопкой «Open Live» и превью страницы.
Сценарий 5: Кормушка с реле (Tasmota/ESPHome)
Цель: Автоматическая выдача корма при детекции.
- Реле на Tasmota или ESPHome.
- Настройки → Кормушка: source (mqtt/esphome), топик или URL, длительность.
- При детекции BirdLense публикует в MQTT или вызывает ESPHome API.
Результат: Корм выдаётся при появлении птицы.
Сценарий 6: Деплой на сервер
См. INSTALL.md — раздел «Деплой на сервер (make deploy)». Только x86_64 / amd64 (Intel или AMD); ARM / aarch64 не поддерживаются и не планируются.
Сценарий 7: Экспорт в eBird
Цель: Загрузить список видов в eBird.org для citizen science.
- Timeline → выберите дату и время суток.
- Меню экспорта (иконка загрузки) → «Экспорт для eBird».
- Настройки → Расширенные: страна (US, RU и т.д.), регион, название локации.
- Скачанный CSV импортировать в eBird.org (Checklists → Import).
Результат: Чеклист в формате eBird Record.
Сценарий 8: Экспорт в iNaturalist
Цель: Отправить кадр детекции в iNaturalist для citizen science.
- Timeline или страница видео → нажмите иконку Share (Share to iNaturalist) на детекции.
- Кадр скачивается, открывается inaturalist.org/observations/upload.
- Перетащите файл в форму, укажите вид (или подтвердите предложенный).
Результат: Наблюдение в iNaturalist.
Сценарий 9: Ручная проверка «Неизвестных»
Цель: Исправить детекции с низкой confidence.
- Настройки → Расширенные: порог «Неизвестные» (по умолчанию 0.5).
- Страница «Неизвестные» — список детекций с confidence ниже порога.
- Выберите правильный вид, нажмите «Применить» (требуется пароль настроек).
- Либо откройте видео для визуальной проверки.
Результат: Вид исправлен, детекция учитывается в статистике.
Сценарий 10: PDF-отчёт и Grafana
Цель: Месячная сводка и дашборды.
- PDF: Overview → «PDF-отчёт» → выберите месяц.
- Grafana: источник Prometheus, scrape
http://birdlense:8085/api/metrics(в Docker-сети) илиhttp://YOUR_HOST:8085/api/metrics. Метрики: CPU, память, диск, GPU, detections, species, videos.
Результат: Отчёт и графики активности.
Сценарий 11: Исследование и дообучение модели
См. TRAINING.md, DATASETS.md. Скрипты: scripts/datasets/, merge → Colab.
Troubleshooting
Frigate обнаружил птицу, но BirdLense не записал: см. TROUBLESHOOTING.md — пропущенные события, чеклист причин.
См. также: OVERVIEW · INSTALL · CONFIGURATION · GLOSSARY · ARCHITECTURE.