OpenCV 5.0 megjelent, mint a széles körben használt nyílt forráskódú számítógépes látás könyvtár jelentős frissítése. Az új verzió egy átdolgozott mély neurális hálózati motort, szélesebb ONNX modell támogatást, beépített látás-nyelvi modell támogatást, valamint a régebbi API-k alapos átvizsgálását hozza.
Akik nem ismerik, az OpenCV egy szoftverkönyvtár, amely segíti az alkalmazásokat a képek vagy videók "látásában" és feldolgozásában. Használják robotikában, ipari ellenőrzésben, kamerákban, orvosi képalkotásban, objektumok észlelésében, kiterjesztett valóságban, önvezető kutatásokban és AI-alapú képelemzésben.
A legnagyobb változás a DNN modulban történt, amely a legnagyobb frissítést kapta az OpenCV 4.x óta. Az OpenCV 5.0 egy új következtetési motort tartalmaz, amely a klasszikus mellett fut, és sokkal jobb támogatást nyújt a dinamikus formák, alhálózatok és modern ONNX funkciók számára. A projekt szerint az új motor most már az ONNX specifikáció több mint 80%-át lefedi, míg az OpenCV 4.x esetében ez az arány kevesebb mint 23% volt.
Az új DNN motort alapértelmezés szerint automatikusan választják ki, és szükség esetén visszaáll a klasszikus motorra. A fejlesztők egy új motor paraméter vagy az
OPENCV_FORCE_DNN_ENGINE
környezeti változó segítségével is irányíthatják a működését. Az OpenCV 5.0 ONNX Runtime támogatással is felépíthető, beleértve az NVIDIA GPU végrehajtási szolgáltatókat a megfelelő build opciók használatakor.
Jelenleg azonban az új motor csak CPU-kon működik. A GPU támogatás az új motorhoz későbbi kiadásokban várható. Jelenleg azok a felhasználók, akik GPU-alapú gyorsítást igényelnek, továbbra is használhatják a klasszikus motort, vagy felépíthetik az OpenCV-t ONNX Runtime és NVIDIA végrehajtási szolgáltató támogatással.
Újabb jelentős újdonság a multimodális modellek támogatása. Az OpenCV 5.0 tartalmazza a VLM következtetéshez szükséges tokenizálókat és komponenseket, beleértve a figyelmi rétegeket, dekódoló blokkokat, utófeldolgozást és KV-cache támogatást. Ez lehetővé teszi az OpenCV számára, hogy olyan modelleket futtasson, amelyek kombinálják a képfeldolgozást a nyelvi kimenettel, például egy kép leírását vagy kérdések megválaszolását a vizuális tartalomról.
A teljesítmény terén a projekt azt állítja, hogy az új DNN motor versenyképes CPU következtetési teljesítményt nyújt, amely néhány tesztelt modell esetében megfelel vagy felülmúlja az ONNX Runtime-ot. A képfeldolgozás is fejlesztéseken ment keresztül, beleértve a felülvizsgált warpAffine, warpPerspective és remap megvalósításokat, a sebességnyereség a platformtól, a kép méretétől, típusától és a műveleti zászlóktól függően változik.
Az OpenCV 5.0 új adat típusokat is hozzáad a Core modulban, beleértve a bfloat16, uint32, uint64, int64 és boolean mátrix támogatást. Emellett javítja a 0D és 1D tömbök támogatását, ami fontos a DNN forma következtetés és az általános tömbkezelés szempontjából.
Ezen kívül az OpenCV 5.0 eltávolította a régi C API-t, beleértve az OpenCV 1.x korszakból származó örökölt C függvényeket és struktúrákat. Az OpenVX támogatást is eltávolították, míg a G-API és a klasszikus ML modul az opencv_contrib-hoz került.
Az új kiadás egy több nézetű kamera kalibrációs folyamatot is hozzáad, megbízhatóbb becslést biztosít az USAC mint alapértelmezett háttér, valamint kezdeti támogatást nyújt a hálózati és pontfelhő algoritmusokhoz, beleértve a TSDF-t és ICP-t, valamint importálókat és exportálókat a PLY és OBJ formátumokhoz.
A minimális követelmények is megváltoztak. Az OpenCV 5.0 most már C++17-et igényel, míg a Python 2 támogatást teljesen eltávolították. A projekt most már Python 3.6 vagy újabb verziót igényel, és kizárólag Python 3 kötődéseket épít és terjeszt.
További részletekért lásd a kiadási bejelentést.

