rammeverk Savant
Overvåkings- og rekognoseringssystemer er ikke nytt Det er langt fra nyere, siden disse systemene har vært brukt i mange år og har utviklet seg sammen med forbedringer i både maskinvare- og programvareutvikling.
To år siden Jeg blogget litt om OpenCV, et gratis datasynsbibliotek på tvers av plattformer (du kan sjekke artikkeldetaljene I den følgende lenken), som på det tidspunktet virket ekstremt interessant for meg fordi det kunne implementeres på en Raspberry Pi og på den tiden hadde jeg for vane å teste et stort antall prosjekter og systemer på RPi.
Grunnen til å nevne dette og prøver å ikke komme ut av temaet i dagens innlegg, er at mange tror at implementeringen av et system av denne typen kan være ekstremt dyrt eller til og med veldig komplisert. Noe som i realiteten ikke er opp til et visst punkt, siden man kan støtte åpen kildekode-prosjekter, men det krever viss kunnskap og fremfor alt tålmodighet.
Det er derfor i dag La oss snakke om et slikt prosjekt og det virker personlig veldig bra og kraftig. Prosjektet som vi skal snakke om er Savant, som er et rammeverk skrevet i Python og som gjør NVIDIA DeepStream enklere å bruke for maskinlæringsingeniører
Savant er et rammeverk på meget høyt nivå på toppen av DeepStream, som skjuler alt internt i Gstreamer for utvikleren og gir praktiske verktøy for å implementere streaming AI-applikasjoner i det virkelige liv. Bruker standard Nvidia PeopleNet-modell å oppdage mennesker og deres ansikter og spesielt på steder der personvernregler gjelder, tillater rammeverket sporing og uskarphet av ansikter.
Av egenskapene som skiller seg ut fra Savant er for eksempel utrolig rask slutning, Fordi den er basert på Nvidia DeepStream og leverer ytelse på Nvidia-maskinvare som er kompatibel med datasenterakseleratorer, profesjonelle kort, stasjonære datamaskiner og NVIDIA Jetson.
En annen funksjon er at den har OpenCV CUDA integrasjonsstøtte som du kan bruke OpenCV CUDA-filtre og jobbe med GpuMat-raster effektivt uten å laste tunge rammer til CPU RAM.
Bortsett fra det, har et streaming-API som lar Savant fungere som en inferensserver gjennom 0MQ og Apache AVRO. Med dette blir overføringsdataene levert til serveren og konsumert fra den med adaptere.
Av de andre egenskapene som skiller seg ut fra Savant:
- Python og ML støtte.
- Rammeverket er tilgjengelig som Docker-beholdere for x86- og Nvidia Jetson-kjøretider.
- Fungerer på Edge og Core
- Lav latency operasjoner og kapasitet, savant støtter fordelaktige lav latens operasjoner
- Adaptere for tilgang til ulike mediekilder som RTSP eller videofiler
- Den lar deg bygge rørledninger for miljøer hvor rotasjonsbevisst prosessering er avgjørende.
Når det gjelder implementeringen av prosjektet, bør du vite at både Savant og dets adaptere leveres som Docker-bilder. Så for å implementere pipelinen tar du basisbildet, legger til AI-modeller og tilpasset kode med ytterligere avhengigheter, og bygger deretter det resulterende bildet. Noen rørledninger som ikke krever ytterligere avhengigheter kan implementeres ved ganske enkelt å tilordne kataloger med modeller og brukerfunksjoner i docker-bildet.
For den delen av konfigurasjonen av Savant-miljøet, er det nødvendig å ha noen avhengigheter og verktøy allerede installert, siden det er ekstremt nødvendig at DeepStream-avhengighetene er tilfredsstilt.
Avhengighetene er:
- git
- git-lfs
- curl
- Docker
- nvidia-drivere
- Nvidia Container Toolkit
Siden miljøimplementeringsprosessen krever mye, inviterer jeg deg til det hvis du er interessert, vennligst se Savant-manualen I den følgende lenken.