Bilgisayarla görme, bilgisayarların ve sistemlerin dijital görüntülerden, videolardan ve diğer görsel girdilerden anlamlı bilgiler elde etmesini sağlayan bir teknolojidir. Yapay zekayı bilgisayarların beyni, bilgisayarla görmeyi ise bilgisayarların gözleri olarak düşünebilirsiniz. Bilgisayar, aldığı bilgilere dayanarak eyleme geçebilir veya önerilerde bulunabilir ve görsel görevleri çözmede insanları hızla geçerek gelişmektedir. Şu anda tıbbi tanı, otonom sürüş, video izleme gibi birçok endüstride hayati bir öneme sahiptir.
Peki, bilgisayarla görme tam olarak nedir?
Bu makalede aşağıdaki kavramları inceleyeceğiz:
- Bilgisayarla görmenin tanımı
- Bilgisayarla görme nasıl çalışır
- Bilgisayarla görme görevleri, CV dünyasına merhaba
- Popüler Bilgisayarla Görme çerçeveleri, kütüphaneleri ve geliştirme platformları
- Bilgisayarla görme uygulamaları ve araçları
- CV’yi uç noktada uygulama
Umarım bu makalenin sonunda bilgisayarla görmenin ne olduğunu anlayacak ve bazı projelerde kendinizi denemek isteyeceksiniz!
Bilgisayarla Görme Nasıl Çalışır?
Bilgisayarla görme, etkili bir şekilde çalışabilmesi için çok fazla veriye ihtiyaç duyar, verileri tekrar tekrar analiz eder ve ayırt edici özellikleri belirleyip görüntüleri tanımaya çalışır. Algoritmik modeller, makinenin bir görüntüyü tanıması için manuel olarak programlanmak yerine kendi kendine öğrenmesini sağlar.
Aşağıdaki resim, Abraham Lincoln’ün gri tonlamalı görüntü tamponunun basit bir gösterimidir. Her piksel, 0 (siyah) ile 255 (beyaz) arasında değişen tek bir 8 bitlik sayı ile temsil edilmektedir. Sağda ise bir görüntü girdiğinizde yazılımın okuyacağı şeydir.
MNIST El Yazısı Rakam Sınıflandırması: Bilgisayarla Görmenin “Merhaba Dünya”sı
MNIST veri seti, Amerika Birleşik Devletleri’ndeki Ulusal Standartlar ve Teknoloji Enstitüsü’nden gelmektedir ve NIST’in (Ulusal Standartlar ve Teknoloji Enstitüsü) azaltılmış bir versiyonudur. Eğitim seti, 250 farklı kişiden alınmış el yazısı rakamlardan oluşmaktadır; bunların %50’si lise öğrencisidir. %50’si ise Nüfus İdaresi personelinden gelmektedir ve test seti, el yazısı rakam verilerinin aynı oranını içermektedir.
MNIST el yazısı rakam veri seti, 60.000 örnekten oluşan bir eğitim seti ve 10.000 örnekten oluşan bir test setine sahiptir. Bu, NIST tarafından sağlanan daha büyük bir setin alt kümesidir. Şekiller boyut olarak normalize edilmiş ve sabit boyutlu bir görüntüde merkezlenmiştir. MNIST’in orijinal yaratıcısı, üzerinde test edilen bazı yöntemlerin bir listesini tutmuştur. Orijinal makalelerinde, %0.8 hata oranı elde etmek için destek vektör makineleri (SVM) kullanmışlardır.
Bilgisayarla Görme Görevleri
Görüntü Sınıflandırması
Görüntü sınıflandırması, programın bir görüntüyü tespit ettiğinde, verilen görüntüyü doğru bir şekilde tahmin edebilmesi ve belirli bir sınıfa (kedi, portakal, insan yüzü) göre sınıflandırabilmesi gereken temel bir bilgisayarla görme görevidir.
Görüntü Yerelleştirme
Görüntü yerelleştirme, nesneyi bulup etrafında bir sınırlayıcı kutu çizen temel bir bilgisayarla görme görevidir. Aşağıdaki görüntü, sınıflandırma ve yerelleştirme arasındaki farkı göstermektedir.
Nesne Tespiti
Nesne tespiti, görüntüdeki tüm nesneleri sınıflandırır ve tespit eder. Ancak, her bir nesneye bir sınıf atar ve etrafında bir sınırlayıcı kutu çizer. Aşağıdaki görüntüde görüldüğü gibi, sınıflandırma ve yerelleştirmeden farklıdır.
Anlamsal Segmentasyon
Anlamsal segmentasyon, nesne tespitinin bir sonraki seviyesidir. Ancak, nesnenin etrafında bir sınırlayıcı kutu çizmek yerine, görüntüdeki belirli pikselleri tanımlar ve bunları segmentler. Farklı sınıflara farklı renkler atanır; örneğin, çim = yeşil ve koyun = kahverengi. Otonom sürüşte yaygın olarak kullanılmaktadır.
Örnek Segmentasyonu
Örnek segmentasyonu, anlamsal segmentasyonun bir üst versiyonudur. Aynı sınıftaki tüm nesnelere aynı piksel değerlerini atamak yerine, aynı sınıfın farklı örneklerini segmentler ve gösterir. Görüntüde birden fazla aynı nesne tespit edilirse, aşağıda görüldüğü gibi, uygun şekilde etiketlenir; Koyun 1, Koyun 2 ve Koyun 3. Kalabalık sayımı için yaygın olarak kullanılmaktadır.
Poz Tahmini
Poz tahmini, bir insan vücudunun eklemlerinin konumunu ve yönünü tahmin etme yöntemidir. Anahtar noktaların konumunu bularak nesnenin hareketini tahmin eder ve takip eder. Bu bilgilere dayanarak, çeşitli hareketleri ve duruşları karşılaştırabilir ve içgörüler çıkarabilir. AR/VR oyunları ve spor alanında yaygın olarak kullanılmaktadır.
Popüler Bilgisayarla Görme Kütüphaneleri ve Çerçeveleri
PyTorch
PyTorch, dinamik hesaplama kullanan açık kaynaklı bir ML kütüphanesidir; bu da karmaşık mimarilerin inşasında daha fazla esneklik sağlar. Adından da anlaşılacağı gibi, Python ile çok iyi bir uyum içindedir. Temel optimizasyonu hala C dilinde olsa da, temelde tüm çerçeveleri Python’da yazılmıştır, bu da kaynak kodunu daha derli toplu hale getirir. Hem CPU hem de GPU hesaplamalarını destekler.
PyTorch NGC Container, GPU hızlandırması için optimize edilmiştir ve GPU performansını etkinleştiren ve optimize eden doğrulanmış bir kütüphane seti içerir. Bu konteyner ayrıca ETL (DALI, RAPIDS), Eğitim (cuDNN, NCCL) ve Çıkarım (TensorRT) iş yüklerini hızlandırmak için yazılımlar içerir.
NVIDIA Jetson, PyTorch modelleri ile çalışmak için en iyi platformlardan biridir; çünkü çıkarım desteği sayesinde, PyTorch ile transfer öğrenme yapılabilen en yaygın bilgisayarla görme modellerini çalıştırabilir. TensorRT ve PyTorch API teknolojisi ile, PyTorch modellerini NVIDIA Jetson ve Raspberry Pi üzerinde sorunsuz bir şekilde çalıştırabilirsiniz. Bunu nasıl yapacağınızı öğrenmek için bu blog yazısına göz atın.
Yeni başlıyorsanız, Torchvision nesne tespiti ince ayar eğitimi eğitimini kaçırmayın. torchvision paketi, bilgisayarla görme için popüler veri setleri, model mimarileri ve yaygın görüntü dönüşümleri içerir.
torchvision aşağıdaki paketleri içerir:
- vision.datasets: İndirilebilen ve yüklenebilen birkaç yaygın kullanılan görsel veri seti; burada ana gelişmiş kullanım, kaynak kodunun kendi Dataset alt sınıfınızı nasıl yazdığını görmektir.
- vision.models: Eğitimli parametrelerle AlexNet, VGG, ResNet ve Densenet.
Ayrıca, transfer öğrenme kullanarak görüntü sınıflandırması için bir konvolüsyonel sinir ağı eğitme hakkında bu eğitimi bulabilirsiniz. Transfer öğrenme hakkında daha fazla bilgi için cs231n notlarına göz atın.
“`html
YOLOv5
YOLOv5, COCO veri seti üzerinde önceden eğitilmiş nesne tespiti mimarileri ve modellerinden oluşan bir ailedir ve Ultralytics tarafından gelecekteki görsel AI yöntemlerine yönelik açık kaynak araştırmalarını temsil eder; bu süreçte binlerce saatlik araştırma ve geliştirme ile elde edilen dersler ve en iyi uygulamalar entegre edilmiştir. YOLOv5, olgun PyTorch ekosisteminden faydalanarak uygulanmıştır: daha basit bir uygulama ve daha kolay dağıtım sağlar. YOLOv5, modelin kolayca ONNX ve CoreML’e derlenebilmesi sayesinde mobil cihazlara dağıtımı basitleştirir. NVIDIA Jetson Nano ve Xavier NX’e YOLOv5 kullanarak daha az veri seti ile nasıl özel bir model oluşturulacağını ve dağıtımını öğrenmek için wiki sayfamıza göz atın: .

MMDetection
MMDetection, daha önce bahsedilen PyTorch tabanlı açık kaynaklı bir nesne tespiti araç kutusudur. Eğitim tarifleri, önceden eğitilmiş modeller ve veri seti desteğinden oluşur. Linux, Windows ve macOS üzerinde çalışır ve Python 3.6+, CUDA 9.2+ ve PyTorch 1.5+ gerektirir. Ayrıca bilgisayarla görme araştırmaları için bir mmcv kütüphanesi de yayınlamışlardır. Modül çağırma yöntemiyle, az miktarda kod ile yeni bir algoritma uygulayabiliriz. Kodun yeniden kullanım oranını büyük ölçüde artırır.
MMDeploy, açık kaynaklı bir derin öğrenme modeli dağıtım araç setidir. OpenMMLab projesinin bir parçasıdır. NVIDIA Jetson kenar platformları gibi Seeed’in reComputer’ında MMDeploy nasıl kurulacağını öğrenmek için bu kılavuza göz atın.
OpenCV
OpenCV, en popüler açık kaynaklı bilgisayarla görme ve ML yazılım kütüphanelerinden biridir. Bilgisayarla görme uygulamaları için ortak bir altyapı sağlamak amacıyla inşa edilmiştir. Windows, Linux, Android ve macOS üzerinde çalışır ve Python, Java, C++, ve MATLAB’da kullanılabilir.
OpenCV’nin birkaç kullanım durumu şunlardır:
- 2D ve 3D Özellik Araç Setleri
- Yüz Tanıma Uygulaması
- Gest Tanıma
- Hareket Anlama
- İnsan-Bilgisayar Etkileşimi
- Nesne Tespiti
- Segmentasyon ve Tanıma
OpenCV’yi kullanmayı öğrenmek için bu kısa kursa göz atın! Nesne Tespiti ve Takibi, Kenar ve Yüz Tespiti, Görüntü Geliştirme gibi konuları öğreneceksiniz.
OpenCV, GPU hızlandırmalı tüm bileşenleri içeren GPU modülünü içerir. NVIDIA’nın desteğiyle, modül üzerinde çalışmalar 2010 yılında başlamış ve 2011 baharında ilk sürümünden önce tamamlanmıştır. Kütüphanenin önemli bölümleri için hızlandırılmış kod içerir, hala büyümekte ve yeni hesaplama teknolojileri ve GPU mimarilerine uyum sağlamaktadır. Ortaklığımız alwaysAI da OpenCV’yi kenar çalışma ortamımızın temel bir parçası olarak inşa etmiştir. Bu, her alwaysAI uygulamasında import cv2 ekleyip OpenCV’yi uygulamanızda kullanabileceğiniz anlamına gelir. alwaysAI, OpenCV etrafında bir dizi araç geliştirmiştir, böylece uç cihazlarla çalışmanın bazı yaygın zorluklarını çözmeye yardımcı olur.
Keras
Keras, derin öğrenme modeli tasarımı, hata ayıklama, değerlendirme, uygulama ve görselleştirme için Tensorflow, Microsoft-CNTK ve Theano için yüksek seviyeli bir uygulama programlama arayüzü olarak kullanılabilen Python’da yazılmış açık kaynaklı bir yapay sinir ağı kütüphanesidir.
Tüm kod örneklerini Keras‘ta bulabilirsiniz.
- KerasCV ile CutMix, MixUp ve RandAugment görüntü artırma
- BaseImageAugmentationLayer ile Özel Görüntü Artırmaları
- KerasCV COCO Metriği Kullanımı
MATLAB
Gömülü görme, gömülü sistemlere, özellikle cihazlara görüntü işleme uygulamayı içerir. Gömülü görme geliştirme iş akışının ana yönleri algoritma tasarımı, sistem modelleme, işbirliği ve görsel algoritmaların dağıtımını içerir. Mühendisler, görüntü işleme ve bilgisayarla görme sistemlerini gömülü hedef donanımda geliştirmek ve dağıtmak için MATLAB® ve Simulink® kullanabilirler.
MATLAB ve Simulink ile algoritmalar geliştirebilir ve sistemleri modelleyebilir, üçüncü taraf yazılım çerçevelerini entegre edebilir ve hedef donanım platformu için kod üretebilirsiniz. MATLAB’ı NVIDIA Jetson ile nasıl bağlayacağınızı öğrenmek için bu kılavuza göz atın.
MATLAB kullanarak görüntü işlemenin temellerini keşfedin.
NVIDIA VPI
NVIDIA® Vision Programming Interface (VPI), NVIDIA’nın gömülü ve ayrık cihazlarında mevcut olan çeşitli hesaplama donanım platformlarında bilgisayarla görme ve görüntü işleme algoritmalarını uygulayan bir yazılım kütüphanesidir. VPI, hem CPU hem de NVIDIA CUDA algoritma uygulamaları için birleşik bir API sağlar ve VPI ile OpenCV ve CUDA arasında birlikte çalışabilirlik sunar.
TensorFlow
TensorFlow, bilgisayarla görme dahil olmak üzere çok çeşitli görevleri yerine getirebilen uçtan uca açık kaynaklı bir ML platformudur. TensorFlow Lite, modelleri mobil ve kenar cihazlarında çalıştırmanıza olanak tanırken, TensorFlow JS web içindir. Windows, macOS ve WSL2 üzerinde çalışır ve Python, C, C++, Java vb. dillerini destekler.
Temel kullanımları şunlardır:
- Görüntü Sınıflandırma
- Nesne Tespiti ve Segmentasyon
- Görüntü Stilizasyonu
- Üretken Düşman Ağları
Kolayca başlayın:
Seeed’de Coral geliştirme kartını kontrol edin ve özel bir eğitim indirimi kazanın!
Cihaz üzerindeki makine öğrenimi için TensorFlow Lite‘ı kontrol edin.
TensorFlow Lite’ın ana özellikleri, gecikme, gizlilik, bağlantı, boyut ve enerji tüketimine odaklanarak cihaz üzerindeki makine öğrenimi için optimize edilmiştir.
Seeed tarafından desteklenen reTerminal ile hızlı bir başlangıç yapın.
reTerminal hakkında daha fazla bilgi edinmek için Seeed’in Wiki sayfasına göz atabilirsiniz.
“`
Bilgisayarla Görme Kullanım Durumu
Perakende – Zenus
Zenus, bilgisayarla görme teknolojisini kullanarak perakende markaları için tamamen entegre çözümler sunmaktadır. Zenus Akıllı Kamera, gerçek zamanlı yaya trafiği, demografik veriler ve duygu analizi gibi verileri toplar.
Yaya trafiği bilgileri, dönüşüm oranlarını hesaplamak ve satışları tahmin etmek için kullanılacaktır. Bu tür ısı haritaları, yüksek kâr marjına sahip ürünlerin nerede yerleştirileceğini anlamaya yardımcı olabilir.
Demografik veriler ve duygu analizi, mağazanın ilgili ürünler için doğru hedef kitleye ulaşıp ulaşmadığını ve pazarlama tekniklerinin işe yarayıp yaramadığını anlamasına yardımcı olabilir.
Tüm bunlarla birlikte, perakende mağazası satışları daha da artırabilir ve müşteri etkileşimini artırabilir. Zenus’un bilgisayarla görme teknolojisini kullanarak perakende sektörüne nasıl yardımcı olduğunu Seeed’in blog yazısında daha fazla okuyun.
Tarım – Intflow
Intflow’un EdgeFarm’ı, çiftçilerin hayvanların yaralanmalarını ve hastalıklarını algılamalarına yardımcı olan bir AI çözümüdür. EdgeFarm, hayvanların biyometrik verilerini toplar ve bilgisayarla görme teknolojisini kullanarak hayvanların günlük yeme alışkanlıkları ve kilo artışı gibi gerçek zamanlı verileri yakalar. Bu verilere dayanarak, 21. yüzyılda hayvan yetiştiriciliğinin verimliliğini ve etkinliğini artırmak için bir eylem listesi sağlanacaktır.
Intflow’un EdgeFarm’ının nasıl çalıştığını Seeed’in blog yazısında daha fazla okuyun.
Akıllı Ev – Frigate
Frigate, Home Assistant sisteminize entegre edilebilen açık kaynaklı bir ağ video kaydedicisidir. Gerçek zamanlı nesne tespiti yapmak için OpenCV ve TensorFlow kullanır. Frigate ile kapınızın önündeki görüntüleri gerçek zamanlı olarak izleyebilirsiniz.
En iyi yanı, bunu kendiniz tamamen ücretsiz bir şekilde kurabilmenizdir ve herhangi bir bulut yönetim ücreti veya sürekli güvenlik sistemleri ücreti ödemeniz gerekmez. Bunu nasıl yapacağınızı Seeed’in blog yazısında öğrenin.
Bilgisayarla Görme için Donanım
reComputer Nano/NX: gerçek dünya AI, Edge’de, $199’dan başlıyor
Built with Jetson Nano 4GB/ Xavier NX 8GB/16GB
Jetson için reComputer serisi, NVIDIA’nın gelişmiş AI gömülü sistemleri ile inşa edilmiş kompakt edge bilgisayarlardır: J10 (Nano 4GB) ve J20 (Jetson Xavier NX 8GB ve Jetson Xavier 16GB). Zengin genişletme modülleri, endüstriyel çevre birimleri ve termal yönetim ile reComputer for Jetson, popüler DNN modellerini ve ML çerçevelerini edge’e dağıtarak ve yüksek performansla çıkarım yaparak bir sonraki nesil AI ürününü hızlandırmanıza ve ölçeklendirmenize yardımcı olmaya hazırdır.
“`html
- Edge AI kutusu her yere sığar
- Gömülü Jetson Nano/NX Modülü
- Kolay dağıtım için önceden yüklenmiş Jetpack
- Jetson Geliştirici Kitleri ile neredeyse aynı form faktörü, zengin I/O seti ile
- Yığılabilir ve genişletilebilir
Jetson Benchmark: Jetson Xavier NX ve Jetson AGX Orin MLPerf v2.0 Sonuçları
| Model | Jetson Xavier NX | Jetson AGX Xavier | Jetson AGX Orin |
| PeopleNet | 124 | 196 | 536 |
| Eylem Tanıma 2D | 245 | 471 | 1577 |
| Eylem Tanıma 3D | 21 | 32 | 105 |
| LPR Net | 706 | 1190 | 4118 |
| Dashcam Net | 425 | 671 | 1908 |
| Bodypose Net | 105 | 172 | 559 |
| ASR: Citrinet 1024 | 27 | 34 | 113 |
| NLP: BERT-base | 58 | 94 | 287 |
| TTS: Fastpitch-HifiGAN | 7 | 9 | 42 |
Geliştirici araçları ile Bilgisayarla Görme’ye başlayın.
- Edge AI Kod Olmadan Görüntü Aracı, AI uygulamalarını 3 düğme içinde dağıtmak için Seeed’in en son açık kaynak projesi.
- NVIDIA DeepStream SDK, Jetson üzerinde AI tabanlı çoklu sensör işleme ve video ile görüntü anlama için eksiksiz bir akış analitiği araç seti sunar.
- NVIDIA TAO Araç Kiti, TensorFlow ve PyTorch üzerine inşa edilmiştir ve model eğitimini hızlandıran NVIDIA TAO çerçevesinin düşük kodlu bir versiyonudur.
- alwaysAI: reComputer’ın kenarında bilgisayarla görme uygulamaları oluşturun, eğitin ve dağıtın. 100’den fazla önceden eğitilmiş Bilgisayarla Görme Modellerine ücretsiz erişim elde edin ve birkaç tıklama ile bulutta özel AI modelleri eğitin. alwaysAI ile başlamanız için wiki kılavuzumuzu kontrol edin.
- Edge Impulse: ses, sınıflandırma ve nesne tespiti uygulamalarını kenarda dağıtmak için buluta sıfır bağımlılık ile en kolay gömülü makine öğrenimi hattıdır.
- Roboflow, ham görüntüleri nesne tespiti ve sınıflandırma için özel olarak eğitilmiş bir bilgisayarla görme modeline dönüştürmek ve modeli uygulamalarda kullanmak üzere dağıtmak için araçlar sağlar. Roboflow ile NVIDIA Jetson’a dağıtım için tam belgeleri görün.
- Ultralytics tarafından YOLOv5: çok az eğitim örneği gerektiren YOLOv5 ile az sayıda nesne tespiti gerçekleştirmek için transfer öğrenimini kullanın. Adım adım wiki eğitimlerimizi görün.
- Deci: modellerinizi NVIDIA Jetson Nano üzerinde optimize edin. NVIDIA Jetson Nano ve Xavier NX cihazlarında otomatik olarak Benchmark ve Optimize Runtime Performansı hakkında web seminerini kontrol edin.
“`

