LLM·3 dk okuma·

OpenCV 5 Karşınızda: Bilgisayarlı Görüde Yılların En Büyük Sıçraması

Paylaş
LLMEdumints Blog

Bilgisayarlı görü dünyasının temel taşı olan OpenCV, merakla beklenen 5.0 sürümüyle modernize edildi. Bu sürüm, sadece küçük iyileştirmeler değil, köklü mimari değişiklikler sunuyor.

OpenCV 5’in Hedefleri ve Çözümleri

Yeni sürüm, geliştiricilerin sıkça karşılaştığı şu yedi temel soruna odaklanmaktadır:

  • Daha iyi dil desteği: Modern Python bindings ve isimlendirilmiş argümanlar.
  • Daha küçük çekirdek: Legacy C API'sinin kaldırılması ve hafif yapılar.
  • Temiz donanım hızlandırma katmanı: Donanım üreticileri için basitleştirilmiş HAL.
  • Temiz API: 0D/1D tensörler ve yerel FP16/BF16 tipleri.
  • Yeni nesil DNN motoru: ONNX operatör desteğinin %80+'e çıkarılması.
  • Gelişmiş 3D görü: Kamera kalibrasyonu ve 3D görselleştirme.
  • Geliştirilmiş dokümantasyon: Sphinx + Doxygen ile kolay gezilebilir yapı.

Yeni DNN Motoru ve Performans

Yeni motor, modelleri katman listesi yerine yönlü ilişkili grafik olarak işler. Sağlanan yenilikler:

  • If/Loop alt grafikleri: Kontrol akışına sahip modellerin çalıştırılması.
  • Dinamik şekiller: Esnek girdi boyutları desteği.
  • QDQ grafikleri: Kuantize modellerin yerel çalıştırılması.
  • Attention birleştirmeleri: Transformer yapılarının otomatik optimize edilmesi.

Bu optimizasyonlar sayesinde OpenCV 5 DNN motoru, OWLv2 modelinde %36.6, DINOv2'de ise %24.4 oranında ONNX Runtime'dan daha hızlıdır. Geliştiriciler, readNetFromONNX fonksiyonundaki engine parametresiyle motor seçimini kontrol edebilirler.

LLM, VLM ve Üretken Yapay Zeka

OpenCV 5, harici kütüphane gerektirmeden dil modellerini çalıştırabilir. Bu amaçla iki kritik bileşen eklenmiştir:

  • Yerel tokenizer: Metin işleme yeteneği.
  • KV-önbelleği: Autoregressive üretim için verimli bellek yönetimi.

LaMa tabanlı nesne silme (inpainting) işlemi şu dört adımla kolayca gerçekleştirilir:

  1. Giriş görüntüsü: Düzenlenecek fotoğraf.
  2. Maske: Silinecek bölgenin belirlenmesi.
  3. Tek ileri geçiş: Net::forward çağrısı.
  4. Temiz çıktı: Kusursuz biçimde doldurulmuş görsel.

Modern Öznitelik Eşleştirme ve Çekirdek

Eski SIFT ve ORB yöntemlerinin yanına derin öğrenme tabanlı üç yeni araç eklenmiştir:

  • cv::ALIKED: CNN tabanlı anahtar nokta tespiti.
  • cv::DISK: Pekiştirmeli öğrenmeyle eğitilmiş öznitelikler.
  • cv::LightGlueMatcher: Dikkat tabanlı yüksek doğruluklu eşleştirici.

Çekirdek tarafındaki üç önemli yenilik şunlardır:

  • C API'sinin kaldırılması: Eski kod yükünün temizlenmesi.
  • C++17 gereksinimi: Modern C++ özelliklerinin kullanımı.
  • NumPy 2.x desteği: Python tarafında performans artışı.

Donanım Hızlandırma ve 3D Görü

Yeni HAL katmanı, kodunuzu değiştirmeden şu dört platformda hızlandırma sağlar:

  • Intel IPP: x86/x64 optimizasyonları.
  • Arm KleidiCV: AArch64 mimarisine özel hızlandırma.
  • Qualcomm FastCV: Snapdragon NPU/DSP optimizasyonları.
  • RISC-V Vector: Ölçeklenebilir vektör desteği.

3D modülü ise üç ana gruba ayrılmıştır (3d, calib, stereo) ve şu dört özelliği öne çıkarır:

  • Çoklu kamera kalibrasyonu.
  • Nokta bulutu ve örgü (mesh) I/O işlemleri.
  • TSDF hacimleri ile RGB-D füzyonu.
  • USAC framework ile dayanıklı tahminleme.

Pratik Çıkarımlar

Geliştiriciler için en büyük kazanım, ek bağımlılıklardan kurtulmaktır. Gelecekte eklenecek olan non-CPU HAL desteğiyle, pre- ve post-processing adımları da GPU üzerinde kalacak, veri kopyalama darboğazları tamamen çözülecektir.

Orijinal makaleye buradan ulaşabilirsiniz.

Paylaş

Bu konuyu daha derinlemesine öğrenmek ister misin?

Edumints'teki ücretsiz kursları incele ve bugün başla.

Kurslara Göz At →