Bilgisayarla Görme Algoritmaları: Bilmek İstediğiniz Her Şey [2022]

Yayınlanan: 2021-01-01

Bilgisayarların algılamasını sağlayan algoritmaları tanıyın

İçindekiler

Tanıtım

Bilgisayarla görme kelimesi, bir bilgisayarın çevreyi görme ve algılama yeteneği anlamına gelir. Nesne algılama ve tanıma, kendi kendini süren arabalar, yüz tanıma, top izleme, fotoğraf etiketleme ve daha pek çok şey, bilgisayarla görü için pek çok uygulama içeriyor. Teknik jargonlara dalmadan önce, tüm bilgisayarlı görme hattını tartışalım.

Tüm boru hattı, her biri belirli bir işleve sahip 5 temel adıma bölünmüştür. İlk olarak, bir görüntü veya görüntü akışı (görüntü çerçeveleri) biçiminde olabilen algoritmanın işlemesi için girdi gereklidir. Bir sonraki adım ön işlemedir. Bu adımda, algoritmanın görüntüyü daha iyi anlayabilmesi için gelen görüntüye/görüntülere işlevler uygulanır.

İşlevlerden bazıları, gürültü azaltma, görüntü ölçekleme, genişletme ve aşınma, renk lekelerinin giderilmesi vb. içerir. Bir sonraki adım, ilgilenilen alanı veya ilgilenilen bölgeyi seçmektir. Bunun altında nesne algılama ve görüntü bölütleme algoritmaları yatmaktadır. Ayrıca, nihai hedefe ulaşmak için gerekli olan görüntülerden ilgili bilgileri/özellikleri almak anlamına gelen özellik çıkarımına sahibiz.

Son adım, belirli bir görüntü çerçevesindeki nesneleri tanıdığımız veya belirli bir görüntü çerçevesindeki nesnenin olasılığını tahmin ettiğimiz tanıma veya tahmindir.

Örnek vermek

Bilgisayarla görme hattının gerçek dünyadaki bir uygulamasına bakalım. Yüz ifadesi tanıma, belirli bir ürünün kullanıcıları üzerinde ne gibi bir etkisi olduğuna dair bir fikir edinmek için birçok araştırma laboratuvarı tarafından kullanılan bir bilgisayarlı görme uygulamasıdır. Yine ön işleme algoritmalarını uyguladığımız girdi verilerimiz var.

Sonraki adım, belirli bir çerçevedeki yüzleri algılamayı ve çerçevenin o kısmını kırpmayı içerir. Bu başarıldığında, ağız, gözler, burun vb. gibi yüzdeki önemli noktalar belirlenir - duygu tanıma için temel özellikler.

Sonunda, bir tahmin modeli (eğitilmiş model), görüntüleri ara adımlarda çıkarılan özniteliklere göre sınıflandırır.

algoritmalar

Bilgisayarlı görüdeki algoritmalardan bahsetmeye başlamadan önce, 'Sıklık' terimini vurgulamak istiyorum. Bir görüntünün frekansı, yoğunluğun değişim oranıdır. Yüksek frekanslı görüntülerin yoğunluğunda büyük değişiklikler vardır. Düşük frekanslı bir görüntünün parlaklığı nispeten tekdüzedir veya yoğunluk yavaş değişir.

Bir görüntüye Fourier dönüşümü uygulandığında, görüntü frekansı bilgisini veren bir büyüklük spektrumu elde ederiz. Frekans alanı görüntüsünün merkezindeki yoğun nokta, görüntüde çok sayıda düşük frekans bileşeninin bulunduğu anlamına gelir. Yüksek frekans bileşenleri şunları içerir: kenarlar, köşeler, şeritler vb. Bir görüntünün x ve yf(x,y)'nin bir fonksiyonu olduğunu biliyoruz. Yoğunluk değişimini ölçmek için f(x,y) fonksiyonunun türevini alırız.

ayık filtre

Sobel operatörü, kenar algılama algoritmaları için görüntü işleme ve bilgisayarla görmede kullanılır. Filtre, kenarları vurgulayan bir görüntü oluşturur. Görüntü yoğunluğu fonksiyonunun eğiminin/gradyanının bir yaklaşıklığını hesaplar. Görüntüdeki her pikselde, Sobel operatörünün çıktısı hem karşılık gelen gradyan vektörü hem de bu vektörün normudur.

Sobel Operatörü, görüntüyü yatay ve dikey yönlerde küçük bir tamsayı değerli filtre ile sarar. Bu, operatörü hesaplama karmaşıklığı açısından ucuz hale getirir. Sx filtresi yatay yöndeki kenarları algılar ve Sy filtresi dikey yöndeki kenarları algılar. Yüksek geçiren bir filtredir.

Görüntüye Sx uygulama

Görüntüye Sy uygulama

Okuyun: Hindistan'da Makine Öğrenimi Maaşı

Ortalama Filtresi

Ortalama filtre, bir görüntünün parlaklığını veya karanlığını belirlemek için kullanılan normalleştirilmiş bir filtredir. Ortalama filtre, pikseldeki her bir değeri kendisi de dahil olmak üzere komşu piksellerin ortalama değeriyle değiştirerek piksel tarafından görüntü pikseli boyunca hareket eder.

Ortalama (veya ortalama) filtreleme, komşu pikseller arasındaki yoğunluktaki varyasyon miktarını azaltarak görüntüleri yumuşatır.

Ortalama filtre, Görüntü kaynağı

Gauss Bulanıklaştırma Filtresi

Gauss bulanıklık filtresi, düşük geçişli bir filtredir ve aşağıdaki işlevlere sahiptir:

  1. Bir görüntüyü pürüzsüzleştirir
  2. Bir görüntünün yüksek frekanslı kısımlarını engeller
  3. Kenarları korur

Matematiksel olarak, bir görüntüye bir Gauss bulanıklığı uygulayarak, temelde görüntüyü bir Gauss işleviyle evriyoruz.

Yukarıdaki formülde x başlangıç ​​noktasından yatay uzaklık, y başlangıç ​​noktasından dikey uzaklık ve σ Gauss dağılımının standart sapmasıdır. İki boyutta formül, profilleri başlangıç ​​noktasından Gauss dağılımına sahip eşmerkezli daireler olan bir yüzeyi temsil eder.

Gauss Bulanıklığı Filtresi, Görüntü kaynağı

Burada dikkat edilmesi gereken bir nokta, doğru çekirdek boyutunu seçmenin önemidir. Bu önemlidir çünkü çekirdek boyutu çok büyükse görüntüde bulunan küçük özellikler kaybolabilir ve görüntü bulanık görünebilir. Çok küçükse, görüntüdeki gürültü ortadan kaldırılmayacaktır.

Ayrıca Okuyun: Bilmeniz Gereken AI Algoritması Türleri

Canny Kenar Dedektörü

Bulanık görüntüdeki yatay, dikey ve çapraz kenarları tespit etmek için dört filtreden yararlanan bir algoritmadır . Algoritma aşağıdaki işlevleri yerine getirir.

  1. Yaygın olarak kullanılan doğru bir kenar algılama algoritmasıdır.
  2. Gauss Bulanıklığı kullanarak gürültüyü filtreler
  3. Sobel filtresini kullanarak kenarların gücünü ve yönünü bulur
  4. En güçlü kenarları izole etmek ve bunları bir piksel çizgisine kadar inceltmek için maksimum olmayan bastırma uygular
  5. En iyi kenarları izole etmek için histerezis (çift eşikleme yöntemi) kullanır

Bir buhar motoru fotoğrafındaki Canny Edge dedektörü, Wikipedia'dan Görsel

Haar Şelalesi

Bu, ikili sınıflandırma problemlerini çözmek için kademeli bir fonksiyonun eğitildiği, makine öğrenimi tabanlı bir yaklaşımdır. İşlev, çok sayıda pozitif ve negatif görüntüden eğitilir ve ayrıca diğer görüntülerdeki nesneleri algılamak için kullanılır. Aşağıdakileri algılar:

  1. Kenarlar
  2. çizgiler
  3. Dikdörtgen desenler

Yukarıdaki kalıpları tespit etmek için aşağıdaki özellikler kullanılır:

evrişimsel katmanlar

Bu yaklaşımda, sinir ağı aynı kategoriye ait bir grup görüntünün özelliklerini öğrenir. Öğrenme, optimize edici olarak geri yayılım tekniği ve gradyan inişi kullanılarak nöronların ağırlıklarının güncellenmesiyle gerçekleşir.

Gerçek çıktı ile temel gerçek arasındaki hatayı azaltmayı amaçlayan yinelemeli bir süreçtir. İşlemde bu şekilde elde edilen evrişim katmanları/blokları, pozitif bir görüntüyü negatif olandan ayırt etmek için kullanılan özellik katmanları olarak işlev görür. Bir evrişim katmanı örneği aşağıda verilmiştir.

Evrişimli Sinir Ağı, Görüntü Kaynağı

Sonunda bir SoftMax işleviyle birlikte tamamen bağlı katmanlar, gelen görüntüyü eğitim aldığı kategorilerden birinde sınıflandırır. Çıktı puanı, 0 ile 1 arasında değişen bir olasılık puanıdır.

Okumalısınız: ML'de Sınıflandırma Algoritması Türleri

Çözüm

Computer Vision'da kullanılan en yaygın algoritmalara genel bir bakış, genel bir boru hattıyla birlikte bu blogda ele alınmıştır. Bu algoritmalar, SIFT, SURF, ORB ve daha fazlası gibi daha karmaşık algoritmaların temelini oluşturur.

Makine öğrenimi hakkında daha fazla bilgi edinmek istiyorsanız, çalışan profesyoneller için tasarlanmış ve 450+ saat zorlu eğitim, 30'dan fazla vaka çalışması ve ödev, IIIT- sunan IIIT-B & upGrad'ın Makine Öğrenimi ve Yapay Zeka PG Diplomasına göz atın. B Mezun statüsü, 5+ pratik uygulamalı bitirme projesi ve en iyi firmalarla iş yardımı.

Görüntü İşleme ve Bilgisayarla Görme arasındaki fark nedir?

Görüntü İşleme, daha iyi bir sürüm üretmek için görüntülerin ham biçimini geliştirir. Birincil görüntünün bazı özelliklerini çıkarmak için de kullanılır. Bu nedenle Görüntü İşleme, Bilgisayarla Görme alanının kendisinde ayrı bir bölümdür. Bununla birlikte, Bilgisayarla Görme, doğru sınıflandırma için uyaran nesnelerini tanımaya odaklanır. Her ikisi de prosedürlerinde benzer teknolojileri kullanır. Bu nedenle, Görüntü İşleme, Bilgisayarla Görmede birincil işlem olabilir. Yapay Zeka alanında öne çıkan bir alan olmaya devam etmektedir. Görüntü İşleme, görüntüleri geliştirmeye odaklanır; Computer Vision teknolojisi, daha iyi sistemler oluşturmak için ayrıntılı, doğru analitiklere odaklanır.

Bilgisayarla Görme algoritmaları oluşturmak için neden Derin Öğrenme kullanılıyor?

Bilgisayarla Görme, titiz veri odaklı araştırma ve tutarlı görsel veri analizi sayesinde Yapay Zekayı (AI) daha sağlam hale getirdi. Derin Öğrenme, sinir ağları aracılığıyla sürekli bir veri girişi sürecidir. Bilgi, verimli öğrenme, işleme ve çıktı için algoritmayı mükemmelleştirmek için insan beyni süreçlerinden elde edilir. Derin Öğrenme, doğru veri sınıflandırmasını geliştirir, güvenilir bir AI modeli sağlar. Computer Vision, AI'yı insan beyninin sinir ağına hizalamak için bu yöntemi kullanır. Derin Öğrenme, güvenilir sistemlerin insanlara yardımcı olmasını ve yaşam kalitelerini iyileştirmesini sağlamıştır.

Düşük Geçişli filtre ve Yüksek Geçişli filtre nedir?

Bilgisayarla Görme Algoritmalarında, birden çok filtre, ham bir görüntüden istenen sonuçları üretir. Bu filtreler, görünümü istediğiniz gibi yumuşatmak, keskinleştirmek ve vurgulamak için çok sayıda işlev gerçekleştirir. Filtreler sıklıklarına göre farklılık gösterir ve farklı efektler önerir. Örneğin, Gauss Bulanıklığı filtresi esasen görüntünün yüksek frekanslı kısımlarını değiştirerek ve kenarları koruyarak görüntüyü yumuşatma üzerinde çalışır. Alçak Geçiren filtre olarak adlandırılır çünkü yüksek frekanslı konumları azaltır ve düşük frekanslı konumları koruyarak daha pürüzsüz bir görsel sunar. Yüksek Geçişli filtrelerde, düşük frekanslı konumlar azaltılır ve öncekiler korunur, bu da daha keskin bir görsel ile sonuçlanır.