OpenCV 5.0.0

Objavljeno OpenCV 5.0.0 — velika izdaja odprte knjižnice za računalniški vid in obdelavo slik. Izdaja je bila zaključena 6. junija 2026 in je že označena kot aktualna v repozitoriju projekta na GitHubu. OpenCV se distribuira pod licenco Apache-2.0.

Zasnova izdaje je prehod OpenCV od 'klasične knjižnice računalniškega vida' k sodobnejši platformi za CV/Ai naloge: projekt je izbrazil staro API, prenovil modul za nevronsko inferenco, razširil podporo za ONNX, dodal osnovo za scenarije VLM/LLM ter posodobil 3D/kalibracijski sklad. Razvijalci opisujejo OpenCV 5.0 kot vejo, ki se zdaj tudi šteje za stabilno, nova funkcionalnost pa bo pretežno pristajala tja.

Glavne promene

  • Nova DNN-inference motor.
    V modulu dnn se je pojavil nov motor, ki soobstaja s starim. Ta bolje deluje z dinamičnimi oblikami tenzorjev, podgrafi in sodobnimi možnostmi ONNX. Poročajo o pokritju več kot 80% specifikacije ONNX, medtem ko je OpenCV 4.x pokrival manj kot 23%.
    To je verjetno glavna sprememba izdaje: OpenCV si prizadeva postati ne le ovitek okoli modelov, temveč pravi vgrajen motor za inferenco sodobnih nevronskih mrež.

  • Izbira motorja pri nalaganju modela.
    V cv::dnn::readNet() in sorodnih funkcijah se je pojavil parameter ENGINE_AUTO. Privzeto OpenCV najprej preizkusi nov motor, pri neuspehu pa se vrne na klasičnega. To obnašanje je mogoče nastaviti tudi preko okoljske spremenljivke OPENCV_FORCE_DNN_ENGINE: uporabiti star motor, nov, avtomatski način ali ONNX Runtime. Stari projekti ne morajo takoj popolnoma preiti na nov motor, nove modele pa lahko postopoma preusmerijo nanj.

  • Integracija z ONNX Runtime.
    OpenCV je zdaj mogoče sestaviti z vključeno ONNX Runtime. Pri tem OpenCV uporablja svoj ONNX parser za gradnjo ORT grafa, zato ne zahteva celotnega paketa ONNX. Za sestavljanje so na voljo CMake parametri -DWITH_ONNXRUNTIME=ON in -DDOWNLOAD_ONNXRUNTIME=ON; za NVIDIA GPU — -DDOWNLOAD_ONNXRUNTIME_GPU=ON. Funkcija bo uporabna za tiste, ki potrebujejo GPU inferenco že zdaj, saj nov DNN motor OpenCV zaenkrat deluje le na CPU.

  • Podpora za modele vizualno-jezikov.
    Nov DNN motor vključuje tokenizatorje, plasti pozornosti, dekodirne bloke, obdelavo po nalaganju in KV predpomnilnik, potrebne za zagon VLM modelov "iz škatle". Knjižnica je zgodovinsko povezana z obdelavo slik in zdaj zajema področje modelov, ki hkrati obdelujejo slike in besedilo.

  • Podpora za GPU novega DNN motorja trenutno še ni pripravljena.
    Nov motor v OpenCV 5.0 deluje samo na CPU. Obetajo se nativne podporne GPU v prihodnjih izdajah; zaenkrat se priporoča uporaba klasičnega motorja ali gradnje z ONNX Runtime in NVIDIA izvajalnimi pripomočki za CUDA inferenco na strežnikih ali namizju. OpenCV 5.0 sam po sebi še ne nadomešča specializiranih runtimov.

  • Stari parserji Darknet in Caffe so odstranjeni.
    Razvijalci so odstranili parserje Darknet in Caffe, ker je bila večina modelov že prenesena v ONNX. TFLite ostaja na voljo preko klasičnega motorja, prenos na nov motor pa je načrtovan pozneje. OpenCV se odpoveduje starim formatom in se osredotoča na ONNX kot glavni izmenjevalni format modelov.

  • Obsežno čiščenje zastarele API.
    C API OpenCV 1.x je odstranjen: funkcije kot cvCreateMat() in stare strukture tipa CvMat niso več del glavnega API. Prav tako je odstranjena podpora za OpenVX, modul G-API pa je prenesen v opencv_contrib, kjer je tudi klasični ML modul. To je bistvena sprememba za stare projekte, vendar se je že dolgo napovedovalo: knjižnica se osvobaja tehničnega dolga, nabranega skozi desetletja.

  • Features2D je preimenovan v Features.
    Modul je razširjen za sodobne vektorje značilnosti iz nevronskih mrež. V glavni repozitorij so ostali SIFT, ORB, FAST, GoodFeaturesToTrack in MSER, zastareli detektorji in deskriptorji pa so preneseni v opencv_contrib. Dodani so ALIKED, DISK in primerjalnik LightGlue. OpenCV se očitno prilagaja sodobnim cevnmi, kjer se značilnosti slike vse pogosteje pridobivajo z neklasičnimi algoritmi, ampak z nevronskimi mrežami.

  • Novi tipi podatkov v Core.
    Dodani so CV_16BF / cv::bfloat, CV_32U, CV_64U, CV_64S in CV_Bool. Prav tako je bila izboljšana podpora za N-dimenzionalne tabele, 1D-tabele in 0D skalarje. LAPACK je zdaj vedno dostopen: če zunanje knjižnice ni, OpenCV sestavi vgrajeno minimalno podmnožico. Te spremembe so pomembne za DNN, numerične algoritem in združljivost s sodobnimi podatkovnimi formati, kjer se bfloat16 in razširjeni tipi vse pogosteje pojavljajo.

  • Obdelava slik je pospešena.
    V imgproc so bili predelani warpAffine, warpPerspective in remap. Izboljšanja zmogljivosti so navedena v razponu od 10 % do več kot 300 %, odvisno od platforme, velikosti slike, vrste podatkov in oznak operacije.
    To ni več le o AI-modulu — takšne optimizacije so neposredno pomembne za klasične naloge: video tokove, stabilizacijo, projekcijske transformacije in pripravo podatkov pred inferences.

  • Izboljšan je izhod besedila.
    Stari mehanizem za upodabljanje besedila je bil zamenjan z motorjem TrueType na osnovi STB z vgrajenim variabilnim pisavo Rubik. Uporabniške pisave lahko vključite, podpora za Unicode je široka. Pri tem pa zapletene pisave, kot so arabščina in devanarija, trenutno niso pravilno prikazane brez Harfbuzz, barvni emoji pa niso podprti. OpenCV postaja prijaznejši za generiranje anotacij, slik za odpravljanje napak in vizualizacije brez zunanjih knjižnic.

  • Posodobljena sta 3D in kalibracija kamer.
    calib3d je razdeljen na geometry, calib, stereo in ptcloud. USAC je postal standardna podpora za stabilno oceno homografije, esencialne/fundamentalne matrice, PnP in druge naloge. Dodan je pipeline za kalibracijo več kamer, začetna podpora za obdelavo mrež in oblakov točk, vključno s TSDF, ICP, uvozom in izvozom .ply in .obj. To je pomemben korak za robotiko, SLAM, AR/VR in večkamerne sisteme, kjer enostavna 2D obdelava že dolgo ne zadostuje.

  • Primeri in dokumentacija so bili predelani.
    Zastareli primeri so bili odstranjeni, preostali pa posodobljeni. Za DNN-primerke se uporablja skupna zbirka modelov, ki jo je mogoče prenesti s skripto download_models.py. Dodani so eksperimentalni primeri za VLM in LDM, dokumentacija pa je dobila sodoben dizajn, hitro iskanje, svetli/temni način in izboljšano navigacijo. Za tako obsežno knjižnico to ni le kozmetična sprememba: normalna dokumentacija in delujoči primeri neposredno vplivajo na to, ali se bodo razvijalci lahko dejansko preusmerili na OpenCV 5.x.

Na koncu je OpenCV 5.0 pomembna nadgradnja, ne le nov izdaja z optimizacijami: manj zapuščine iz dobe OpenCV 1.x in več osredotočenosti na ONNX, nevronsko inferenco, moderne lastnosti, 3D obdelavo in heterogene pospeške. Hkrati pa prehod za stare projekte morda zahteva prilagoditve zaradi odstranitve C API in prenosa nekaterih modulov v opencv_contrib.

Izvor: linux.org.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster