Разработчик выложил открытый пайплайн для реального детектирования дронов (UAV) на одноплатнике Khadas Edge2 с SoC Rockchip RK3588S. Всё построено вокруг YOLOv8n и трёх NPU-ядер, работающих параллельно. Камера OS08A10 выдаёт 46 FPS по MIPI, и пайплайн упирается именно в этот потолок — без многопоточности было ~31 FPS, а теперь 46, и узким местом стал сенсор, а не обработка.
Вся тяжёлая работа ложится на специализированные блоки: захват кадра делает ISP, цветокоррекцию и ресайз — RGA, инференс — NPU. CPU вообще не трогается. Память держится на уровне ~140 MB RSS на один поток и ~290 MB на два — настолько эффективно, что проект работает даже на самых дешёвых 2-гигабайтных платах RK3588S (царят около €90), не требуя дорогих 8/16 GB девелоперских китов.
Архитектура модульная: каждый этап — отдельный процесс, общаются через Unix-domain sockets. Детекции YOLO уходят в трекер ByteTrack, затем temporal-feature extraction, потом FSM присутствия, и при необходимости включается маленькая LLM — Qwen2.5-0.5B — прямо на том же NPU. Когда дрон покидает сцену, модель пишет текстовое резюме случившегося. Чтобы LLM не мешала основному детектированию, реализован механизм blackout/resume: пайплайн временно освобождает NPU, LLM работает на полной скорости, потом управление возвращается камерам.
Проект умеет обрабатывать два потока одновременно — для каждой камеры свой набор сокетов. Готовые собранные бинарники можно скомпилировать или кросс-компилировать с x86-64/WSL. В репозитории лежат все исходники, Mermaid-диаграммы архитектуры, бенчмарки и скрипты запуска. Лицензия — Apache 2.0. Автор подчёркивает, что это исследовательский проект, не предназначенный для боевого или слежкового использования, а класс UAV используется просто как пример для бенчмаркинга.
Связанные репозитории — RKNN_TRAIN_YOLO (тренировка и конвертация модели в .rknn) и RKLLM_LLAMA_QWEN (запуск оптимизированных LLM на RK3588S).