Ta strona korzysta z ciasteczek, aby zapewnić Ci najlepszą możliwą obsługę. Informacje o ciasteczkach są przechowywane w przeglądarce i wykonują funkcje takie jak rozpoznawanie Cię po powrocie na naszą stronę internetową i pomaganie naszemu zespołowi w zrozumieniu, które sekcje witryny są dla Ciebie najbardziej interesujące i przydatne.
Klient
Projekt został zrealizowany dla organizacji zainteresowanej wykorzystaniem systemu analizy wideo w czasie rzeczywistym do celów monitoringu oraz zliczania pojazdów.
Wyzwanie
Wraz z rosnącą popularnością systemów monitoringu wideo w takich obszarach jak bezpieczeństwo, analiza ruchu drogowego czy nadzór rolniczy, pojawiła się potrzeba stworzenia narzędzia umożliwiającego analizę obrazu w czasie rzeczywistym. Wymagania obejmowały nie tylko wysoką precyzję detekcji i śledzenia obiektów, ale również możliwość działania w różnych trybach, obsługę wielu źródeł wideo oraz dostęp do usługi za pomocą przeglądarki.
Rozwiązanie
Zaprojektowano i wdrożono aplikację do śledzenia pojazdów w czasie rzeczywistym, która może być dostosowana do innych obiektów (ludzie, zwierzęta, rośliny) i różnych scenariuszy biznesowych. System oparto na architekturze mikroserwisowej, gdzie każdy komponent działa jako izolowany kontener Docker. Wykorzystano detektor oparty na głębokim uczeniu oraz system śledzenia wielu obiektów.
Aplikacja działa w trzech podstawowych trybach:
- pojedyncza detekcja obrazu przez REST API z bardzo niską latencją (ok. 450 ms),
- transmisja peer-to-peer z opóźnieniem końcowym na poziomie ok. 2 sekund,
- transmisja w architekturze klient-serwer, zoptymalizowana pod kątem różnorodności urządzeń użytkowników.
System obsługuje różne źródła strumienia (kamery IP, kamery internetowe, pliki wideo) oraz umożliwia równoczesne podłączenie wielu klientów do jednego strumienia z adnotacjami. Komunikacja dwukierunkowa umożliwia bieżącą analizę i przesyłanie wyników do przeglądarki użytkownika bez zakłóceń.
Rezultaty
System umożliwił:
- zliczanie pojazdów przejeżdżających w dowolnych kierunkach zdefiniowanych przez użytkownika,
- rozróżnianie typów pojazdów (samochody, ciężarówki, motocykle),
- niezawodne działanie zarówno w transmisji lokalnej, jak i przez Internet,
- szybkie dostosowanie do innych zastosowań (np. rozpoznawanie ludzi lub zwierząt), co czyni rozwiązanie uniwersalnym narzędziem dla wielu branż.
Technologie
Do stworzenia systemu wykorzystano:
- React.js, TypeScript, Redux, Redux-Saga, Styled-Components po stronie frontendu,
- Python, PyTorch, OpenCV, AsyncIO, Multiprocessing po stronie backendu,
- WebRTC i HLS do transmisji wideo,
- Architektura oparta na mikroserwisach uruchamianych w kontenerach Docker.

Design, Development, DevOps czy Cloud – jakiego zespołu potrzebujesz, aby przyspieszyć pracę nad swoimi projektami?
Porozmawiaj o swoich potrzebach z naszymi specjalistami.



