dobrovolskiy.com
EN
← все проектыAI · 2026

Evac: детектор эвакуаторов

Собственноручно обученный YOLO-детектор эвакуаторов на RTSP-камерах с бессерверной сетью на libp2p.

Evac следит за потоками RTSP-камер в поисках эвакуаторов ('mos_evacuator') с помощью модели YOLO, обученной на собственном датасете автора.

Evac: детектор эвакуаторов

Evac следит за потоками RTSP-камер в поисках эвакуаторов ('mos_evacuator') с помощью модели YOLO, обученной на собственном датасете автора.

Начинался как приложение на Python/Tkinter поверх ultralytics и был переписан на Rust: кадры с ffmpeg проходят через ONNX Runtime (usls) с трекингом ByteTrack, и каждое новое обнаружение публикуется как подписанное событие с JPEG-фрагментом через GossipSub-сеть libp2p, так что распределенные узлы делятся наблюдениями напрямую друг с другом: mDNS в локальной сети, обнаружение через Kademlia DHT в интернете и Circuit Relay v2 + DCUtR для пробития NAT.

Десктопный UI на egui показывает живое видео с рамками и панель обнаружений от пиров, а сборка научена работать на Windows Server 2012 через динамический загрузчик ORT и заглушку dxcore.dll.

Что умеет

  • Собственная модель YOLO (yolo26n, экспорт end2end/без NMS), обученная на вручную собранном датасете эвакуаторов (~150 фото + негативы + видео)
  • Захват RTSP через пайп ffmpeg, инференс на GPU через CUDA EP ONNX Runtime с откатом на CPU
  • Обмен обнаружениями между пирами: топик GossipSub на группу, подписанный DetectionEvent с JPEG-фрагментом в base64
  • Бессерверное обнаружение через NAT с помощью публичного Kademlia DHT сети IPFS (имя группы хэшируется и никогда не передается по сети), relay + пробитие NAT для соединений NAT-NAT
  • UI на egui с живым видео, отслеживаемыми рамками, панелью пиров и редактором настроек сети; список relay/bootstrap в INI рядом с exe
  • Упаковка для устаревших ОС: ort-load-dynamic, убран wgpu, заглушка dxcore.dll, чтобы запускалось на Server 2012

Продукт компьютерного зрения от начала до конца: сбор датасета, обучение модели и экспорт в ONNX, конвейер инференса на Rust с трекингом и децентрализованная сеть libp2p с обнаружением через DHT и пробитием NAT; работает на Windows Server 2012 года.

Нужно что-то похожее?

Делаю это вживую на звонке в Zoom / Яндекс Телемост, вы смотрите на экран, таймер останавливается по вашему слову. Первые 15 минут бесплатно.

Ещё проекты

FreeGAD: Claude внутри FreeCADИнженерный ассистент на базе Claude, живущий внутри FreeCAD.AutoGAD: Claude внутри AutoCADLLM-агент, пристыкованный внутри AutoCAD 2025, который читает, проверяет и правит открытые чертежи.Переводчик комиксов WUMOСкачивает ежедневный комикс, переводит надписи с помощью Claude vision и перерисовывает текст на изображении.