NVIDIA Optical Flow SDK

Optical Flow – Tipikus felhasználási esetek

Az Optical Flow olyan felhasználási eseteket támogat, mint

  • Object tracking for intelligent video analytics
  • Video frame interpolation, és extrapoláció
  • Sztereó mélységbecslés
  • Videó akciófelismerés

Object tracking for Intelligent Video Analytics

Néhány évvel ezelőttig az intelligens videóelemzés (IVA) a rögzített videók fizikai megtekintését és kézi elemzését igényelte. A számítógépes látás és a mélytanulási technikák gyors fejlődésével az ilyen elemzések nagy része ma már automatizált. Az érdekes tárgyak/személyek/járművek azonosítása a biztonsági kamerák felvételeiből, és nyomon követésük a videóképkockákon keresztül számítógépes látási algoritmusok segítségével valósítható meg. A GPU-k a nagy számítási komplexitás és a párhuzamossági követelmények miatt természetes választásnak számítanak az ilyen alkalmazások futtatására. A legelterjedtebb módszer az érdeklődésre számot tartó tárgyak/személyek/járművek észlelése és azonosítása minden egyes videóképkockán, majd egy algoritmus futtatása az egymást követő képkockákon lévő tárgyak korrelálására, hogy nyomon követhessük mozgásukat. Ez a módszer, bár pontos, rendkívül magas számítási bonyolultsági követelményekkel küzd, mivel a tárgyak észlelése/azonosítása számításigényes művelet (jellemzően neurális hálózati következtetés alkalmazásával).

A hardveres optikai áramlási motor jelentősen enyhíti a számítási bonyolultsági követelményeket, mivel segíti a tárgyak követését. Például, ha egy objektumot a detektor egyszer már észlelt/azonosított, azt a GPU hardveres optikai áramláson alapuló algoritmusával követni lehet az egymást követő videóképekben. Ez kiküszöböli a detektáló algoritmus minden egyes képkocka futtatásának szükségességét, ami a számítási komplexitás jelentős csökkenését eredményezi. A detektor mostantól minden K-edik képkockán futtatható a pontosság veszélyeztetése nélkül (K > 1, jellemzően K = 4). Ezáltal a GPU CUDA magjai szabadon maradnak a további csatornákra vonatkozó következtetések vagy más számításigényes feladatok futtatására.

Az Optical Flow SDK 2.0 tartalmaz egy optikai áramláson alapuló objektumkövető könyvtárat, forráskóddal és kész API-val együtt. Kísérleteink során bebizonyosodott, hogy az optikai áramláson alapuló objektumkövető akár 80%-kal csökkenti a GPU kihasználtságát a legnépszerűbb algoritmusokhoz képest, anélkül, hogy a követés pontossága csökkenne.


Videókép interpoláció és extrapoláció

Az optikai áramlás nagyon hatékonyan használható a videóképek valós idejű interpolációjára vagy extrapolációjára is. Ez hasznos lehet a videolejátszás simaságának javításában, lassított videók létrehozásában vagy a VR-élmény látszólagos késleltetésének csökkentésében, ahogyan azt az Oculus használja (részletek)

A Turing és Ampere GPU-k optikai áramlási funkciója felgyorsítja ezeket a felhasználási eseteket azáltal, hogy az intenzív áramlási vektorszámítást a GPU-szilícium dedikált hardvermotorjára terheli, ezáltal GPU- és CPU-ciklusokat szabadít fel más feladatokra. Ez a hardveres funkcionalitás független a CUDA-magoktól.

FAQ

V: Az SDK letöltése után olvassa el a “ReadMe.txt” fájlt, amely felsorolja a minimálisan szükséges kijelző-illesztőprogram verziót. A megfelelő illesztőprogramokat kell telepítenie, különben az SDK nem fog elindulni, és ez az első dolog, amit inicializálási hiba esetén ellenőrizni kell.

V: Az ügyfélalkalmazásnak le kell kérdeznie a képességeket a képesség API segítségével, mielőtt bármilyen funkciót engedélyezne.

V: Minden alkalmazásfejlesztőnek nyomatékosan javasoljuk, hogy bármely alkalmazás megírása előtt részletesen olvassa át a programozási útmutatókat. Különösen a dokumentáció következő szakaszát olvassa át a kérdéssel kapcsolatos néhány tippért:

  1. “Guidelines for Efficient Usage of NVOF API” in NVOF API Programming Guide, included in the Optical Flow SDK

V: Az Optical Flow SDK kifejezetten az optimális teljesítmény elérésére tervezett mintákat biztosít. A teljesítményt bármelyik minta segítségével mérheti.

A: Az NVOF API olyan API-kat állít ki, amelyek lehetővé teszik a felhasználók számára, hogy lekérdezzék a mögöttes illesztőprogram által támogatott maximális API-verziókat. Az illesztőprogram által támogatott maximális API-verziótól függően az alkalmazás a megfelelő API-val lefordított kódot indíthatja el futásidőben.

V: A teljesítményről az SDK dokumentációban található NVOFA alkalmazásjegyzetben tájékozódhat. A teljesítmény számos tényezőtől függ, amelyek közül néhány a következő: A használt GPU és annak órajele, a használt beállítások (pl. előbeállítás, rácsméret és olyan funkciók, mint a ROI), a rendelkezésre álló memória-sávszélesség, az alkalmazás tervezése.

Támogatás

Fórumközösségünkben a fejlesztők kérdéseket tehetnek fel, megoszthatják tapasztalataikat és részt vehetnek az NVIDIA és más szakértőkkel folytatott vitákban.
Nézze meg a fórumokat itt.

Kiegészítő források

  • NVIDIA Video Codec SDK
  • DeepStream SDK for Intelligent Video Analytics
  • Deep Learning Software
  • GitHub – NVIDIA Optical flow in OpenCV
  • GTC 2020 Session – NVIDIA Video Technologies: Video Codec és Optical Flow SDK
  • GTC 2020 Session – Video Codec SDK és Optical Flow SDK hatékony használata NVIDIA GPU-kon
  • NVIDIA DevBlog – December 5, 2019 – Accelerate OpenCV: Optical Flow Algorithms with NVIDIA Turing GPUs
  • NVIDIA Developer News – 2019. augusztus 23. – A VideoGorillas kutatói mesterséges intelligenciát használnak az archivált tartalmak 4K felbontásra és feljebb történő remasterelésére
  • Oculus Developer blog – május 23, 2019 – ASW és Passthrough+ az NVIDIA Optical Flow-val
  • NVIDIA DevBlog – 2019. február 13. – Az NVIDIA Optical Flow SDK bemutatása

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.