dobrovolskiy.com
RU
← all workAI · 2026

Evac: tow-truck detector

Custom-trained YOLO tow-truck detector on RTSP cameras with a serverless libp2p mesh.

Evac watches RTSP camera streams for tow trucks ('mos_evacuator') using a YOLO model trained on the author's own dataset.

Evac: tow-truck detector

Evac watches RTSP camera streams for tow trucks ('mos_evacuator') using a YOLO model trained on the author's own dataset.

It began as a Python/Tkinter app on ultralytics and was rewritten in Rust: ffmpeg-fed frames go through ONNX Runtime (usls) with ByteTrack tracking, and each new detection is published as a signed event with a JPEG crop over a libp2p GossipSub mesh, so distributed nodes share sightings peer-to-peer with mDNS on a LAN, Kademlia DHT discovery across the internet and Circuit Relay v2 + DCUtR hole punching for NAT traversal.

The egui desktop UI shows live video with boxes and a peer-detections panel, and the build was made to run on Windows Server 2012 via a dynamic ORT loader and a stub dxcore.dll.

What it does

  • Custom YOLO model (yolo26n, end2end/NMS-free export) trained on a hand-collected tow-truck dataset (~150 photos + negatives + videos)
  • RTSP capture via ffmpeg pipe, GPU inference through the ONNX Runtime CUDA EP with CPU fallback
  • Peer-to-peer detection sharing: GossipSub topic per group, signed DetectionEvent with base64 JPEG crop
  • Serverless cross-NAT discovery through the public IPFS Kademlia DHT (group name hashed, never on the wire), relay + hole punching for NAT-to-NAT
  • egui UI with live video, tracked boxes, peer panel and mesh settings editor; relay/bootstrap list in an INI next to the exe
  • Legacy-OS packaging: ort-load-dynamic, wgpu dropped, stub dxcore.dll so it loads on Server 2012

End-to-end computer-vision product: dataset collection, model training and ONNX export, Rust inference pipeline with tracking, and a decentralised libp2p mesh with DHT discovery and NAT hole punching; runs on a 2012-era Windows Server.

Want something like this?

I build it live on a Zoom call, you watch the screen, the timer stops when you say stop. First 15 minutes are free.

$50 / hourBook an hour

More projects

FreeGAD: Claude inside FreeCADA Claude-powered engineering copilot living inside FreeCAD.AutoGAD: Claude inside AutoCADAn LLM agent docked inside AutoCAD 2025 that reads, audits and edits live drawings.WUMO comic translatorScrapes a daily comic, translates the lettering with Claude vision and re-letters the image.