Ultralytics YOLO27: Bekleme listesine katıl.
YOLO'yu lisansla
Kılavuzlar

Şablon eşleştirme nedir? Kısa bir rehber

Şablon eşleştirmenin bir şablonu kaydırıp benzerliği puanlayarak görüntüdeki bir deseni nasıl bulduğunu, OpenCV ile nasıl deneyebileceğini ve nerelerde kullanıldığını öğren.

Abirami VinaAbirami Vina8 dakikalık okuma
Görüntü işlemede şablon eşleştirme örneği

Görüntüler çoğu zaman insanların kolayca fark edebildiği pek çok ince ayrıntı içerir. Ancak makineler için bu görev o kadar kolay değildir. Makineler dijital görüntüleri piksel değerlerinden oluşan bir ızgara olarak algılar; ışıklandırma, açı, ölçek veya keskinlikteki küçük değişiklikler bile kafa karıştırıcı olabilir.

Bir makinenin görüntü analiz etme becerisi genellikle birbiriyle yakından ilişkili iki bilgisayar bilimi alanına dayanır: görüntü işleme ve bilgisayarlı görü. Bu iki alan çoğu zaman birlikte çalışsa da temel amaçları farklıdır.

Görüntü işleme, görüntüleri ham veri olarak ele alır. Görüntüleri iyileştirebilir, ancak içeriklerini anlamaya çalışmaz. İşte bilgisayarlı görü burada fark yaratır. Bilgisayarlı görü, makinelerin görüntüleri ve videoları anlamasını sağlayan bir yapay zekâ (AI) dalıdır.

Temel görüntü işleme uzun yıllardır kullanılıyor, ancak modern bilgisayarlı görü yenilikleri çok daha yeni. Alanın tarihini anlamanın iyi bir yolu, bu sorunları daha eski ve geleneksel yöntemlerle nasıl çözdüğümüze bakmaktır.

Örneğin görüntü eşleştirmeyi ele alalım. Bu, bir sistemin daha büyük bir görüntünün içinde belirli bir nesnenin veya örüntünün bulunup bulunmadığını belirlemesi gereken yaygın bir görü görevidir.

Günümüzde bu işlem yapay zekâ ve derin öğrenme kullanılarak kolayca ve doğru biçimde yapılabilir. Ancak 2010'larda modern sinir ağlarının yükselişinden önce başvurulan yöntem, şablon eşleştirme adı verilen çok daha basit bir teknikti.

Köşe kısmında baş şablonu gösterilen mikroskop görüntüsünde, şablon eşleştirme balık larvasının başını buluyor

Şekil 1. Şablon eşleştirmeye bir örnek (Kaynak)

Şablon eşleştirme, küçük bir şablon görüntüsünün daha büyük bir görüntü üzerinde piksel piksel kaydırıldığı bir görüntü işleme tekniğidir. Evrişime benzer bu kaydırma işlemi, algoritmanın belirli örüntüyle en yakından eşleşen konumu bulmasını sağlar.

Bu yazıda, şablon eşleştirmenin ne olduğunu ve modern iyileştirmelerin gerçek dünya koşullarında yöntemi nasıl daha güvenilir hâle getirdiğini inceleyeceğiz.

Şablon eşleştirme nedir?#

Şablon eşleştirme, doğrudan görüntü pikselleriyle (dijital görüntünün en küçük birimi) çalışan klasik bir bilgisayarlı görü tekniği olarak da tanımlanabilir. Daha büyük bir görüntünün içinde daha küçük bir örüntüyü bulmak için kullanılır.

Bu tür yöntemler, büyük modelleri devasa veri kümelerinde eğitmek yerine geometri, optik ve matematik kurallarıyla tanımlanır. Başka bir deyişle, şablon eşleştirme sistemi iki girdi arasındaki parlaklığı, rengi ve diğer piksel bilgilerini karşılaştırır: giriş görüntüsü (daha büyük görüntü) ve küçük şablon görüntüsü (bulunacak örüntü).

Şablon örnekleri olarak Görüntü A ve Görüntü B

Şekil 2. Görüntü A ve Görüntü B, şablon örnekleridir. (Kaynak)

Şablon eşleştirmenin temel amacı, şablonun daha büyük sahnede nerede göründüğünü bulmak ve görüntünün farklı bölgeleriyle ne ölçüde eşleştiğini ölçmektir. Şablon eşleştirme algoritması bunu, şablonu daha büyük görüntü üzerinde kaydırıp her konumda benzerlik puanı hesaplayarak yapar.

Puanı daha yüksek olan bölgeler en iyi eşleşme olarak kabul edilir; başka bir deyişle, bu bölgeler şablona çok benzer. Bu yöntem piksel piksel karşılaştırmalara dayandığından nesnelerin görünümünün değişmediği kontrollü ortamlarda en iyi sonucu verir.

Örneğin şablon eşleştirme, kalite kontrolünde etiket doğrulama görevlerinde kullanılabilir. Etiketlerin mevcut olup olmadığını kontrol etmek için etiket şablon görüntüsünü bitmiş ürünlerin görüntüleriyle kolayca eşleştirebilir.

Şablon eşleştirme nasıl çalışır?#

Şablon eşleştirmenin nasıl çalıştığına ilişkin adım adım genel bakış:

  • Adım 1 - Görüntüleri hazırlama: Süreç, giriş görüntüsüyle şablon görüntüsünün yüklenmesi ve ardından ikisinin de gri tonlamalı görüntüye dönüştürülmesiyle başlar. Şablon eşleştirme piksel değerlerini karşılaştırmaya dayandığından renk bilgisini kaldırmak gürültüyü azaltır ve görüntü işlemeyi hızlandırır.
  • Adım 2 - Şablonu görüntü üzerinde kaydırma: Ardından şablon eşleştirme algoritması, şablonu daha büyük görüntünün üzerinde her seferinde bir piksel kaydırır (sol üst köşeden başlayarak). Bu hareketin her adımı bir yinelemedir; algoritma bu adımda kaynak görüntüden şablonla aynı boyutta bir görüntü parçası çıkarır.
  • Adım 3 - Eşleşmenin kalitesini ölçme: Her görüntü parçası, olası her konum için bir korelasyon ölçütü veya korelasyon değeri üretmek üzere matematiksel bir eşleştirme yöntemiyle şablonla karşılaştırılır. Yaygın yöntemler arasında kare farkları (toplam uyumsuzluğu hesaplamak için piksel yoğunlukları arasındaki sayısal uzaklığı ölçer), normalize edilmiş çapraz korelasyon (aydınlık ve karanlık örüntülerinin ne kadar iyi hizalandığını belirlemek için piksel değerlerini çarpar) ve korelasyon katsayısı (ışıklandırma biraz değişse bile eşleşmenin doğruluğunu korumak için ortalama parlaklığı çıkarır) yer alır.
  • Adım 4 - En iyi eşleşmeyi belirleme: Tüm konumları değerlendirdikten sonra algoritma, kullanılan yönteme bağlı olarak en yüksek veya en düşük değeri bularak en iyi eşleşmeyi seçer. Yalnızca yeterince yüksek güven puanına sahip eşleşmeleri kabul edip zayıf veya hatalı tespitleri elemek için bu sonuçlara genellikle bir eşik uygulanır.
  • Adım 5 - Sonucu vurgulama: Son olarak tespit edilen konum orijinal görüntüye aktarılır. Genellikle eşleşen bölgenin çevresine bir sınırlayıcı kutu çizilerek şablonun nerede göründüğü açıkça gösterilir.

Şablon eşleştirmeyi uygulamalı olarak deneme#

Görüntü işlemeye dayalı şablon eşleştirme, beraberinde getirdiği dezavantajlar nedeniyle dinamik gerçek dünya bilgisayarlı görü çözümlerinin dağıtımında genellikle kullanılmasa da denemek istersen OpenCV gibi Python kütüphaneleri bu süreci kolaylaştırır ve takip etmesi kolay eğitimler sunar. OpenCV, karmaşık matematiksel karşılaştırmaları gerçekleştiren yerleşik bir matchTemplate işlevi içerir.

Ayrıca, imread işleviyle görüntüleri yükleme ve cvtColor işleviyle görüntüleri gri tonlamaya dönüştürme gibi basit görevlerde yardımcı olan başka işlevleri de destekler. Renk dönüşümü önemli bir adımdır; çünkü görüntüyü tek bir yoğunluk kanalına indirgemek, matchTemplate içindeki matematiksel karşılaştırmayı çok daha hızlı ve renk gürültüsüne karşı daha az hassas hâle getirir.

Benzerlik haritasını oluşturduktan sonra tespiti tamamlamak için OpenCV'nin minMaxLoc işlevini de kullanabilirsin. Bu işlev, haritanın tamamını tarayarak en küçük ve en büyük değerleri tam koordinatlarıyla belirleyebilir. Kullanılan eşleştirme yöntemine bağlı olarak minMaxLoc, verilerdeki en yüksek korelasyonu veya en düşük hata değerini bularak en iyi eşleşmenin konumunu anında belirlemeni sağlar.

OpenCV'nin yanı sıra NumPy gibi kütüphaneler görüntü dizilerini işlemek ve sonuçlara eşik uygulamak için gereklidir; Matplotlib ise benzerlik haritasını ve son tespiti görselleştirmek için yaygın olarak kullanılır. Bu araçlar birlikte, şablon eşleştirme çözümü oluşturmak ve hatalarını ayıklamak için eksiksiz bir ortam sağlar.

Şablon eşleştirmenin gerçek dünyadaki uygulamaları#

Şablon eşleştirmenin nasıl çalıştığını daha iyi anladığımıza göre, şimdi gerçek dünya senaryolarındaki uygulamalarına yakından bakalım.

Geleneksel mimari stilleri belirleme#

Kültürel miras ve mimarlık araştırmalarında araştırmacılar, tasarım örüntülerinin bölgeler arasında nasıl değiştiğini anlamak için tarihî binaların, tapınakların ve anıtların fotoğraflarını incelemek zorundadır. Gelişmiş bilgisayarlı görü modelleri yaygın biçimde benimsenmeden önce araştırmacılar bu yapıları incelemek için görüntü eşleştirme tekniklerini kullanıyordu.

Şablon eşleştirme, araştırmacıların çatı hatları, pencere düzenleri veya duvar motifleri gibi belirli mimari ipuçlarına odaklanmasını sağlar. Şablonları veya referans görüntüleri daha büyük görüntüler üzerinde kaydırarak tekrar eden şekilleri belirleyebilir ve saatler sürebilen elle görüntü analizini azaltabilirler.

İlginç bir örnek, Endonezya geleneksel evleri üzerine yapılan bir çalışmadan geliyor. Araştırmacılar karakteristik özelliklerin küçük şablonlarını oluşturup bunları tam ölçekli fotoğraflarla karşılaştırdı. Bu yaklaşım, şablonla yakından eşleşen görüntü bölgelerini belirginleştirmek ve bölgeler arasındaki mimari stilleri sınıflandırmak için kullanıldı.

Endonezya'daki geleneksel evleri sınıflandırmak için şablon eşleştirme kullanımı

Şekil 3. Endonezya'daki geleneksel evleri sınıflandırmak için şablon eşleştirme kullanımı (Kaynak)

Endüstriyel görü sistemlerinde nesne tespiti#

Endüstriyel ortamlar, bileşenleri hızla tespit edebilen, montajları doğrulayabilen veya kusurları belirleyebilen görü sistemlerinden yararlanabilir. Derin öğrenme imalat alanında yaygınlaşmadan önce birçok ekip bu görevleri otomatikleştirmek için görüntü eşleştirme yöntemlerini denedi.

Basitçe söylemek gerekirse, bir bileşenin referans şablonu üretim hattından gelen görüntüleri taramak ve şablonla eşleşen bölgeleri vurgulamak için kullanılabilir. Parçalar tutarlı konumlarda göründüğünde ve ışıklandırma sabit olduğunda bu yöntem iyi çalışır.

Şablon eşleştirmeyle akciğer tümörü algılama#

Gelişmiş teknolojiler sağlık alanında etki yaratsa da BT taramaları gibi tıbbi görüntülerden sağlık sorunlarını teşhis etmek hâlâ zordur. Radyologlar geleneksel olarak her tarama kesitini elle incelemek zorundaydı; bu süreç son derece hassas ve oldukça zaman alıcıdır.

Derin öğrenme sağlık hizmetlerinde kullanılmaya başlamadan önce araştırmacılar iş akışını kolaylaştırmak ve anormallikleri belirlemeye yardımcı olmak için şablon eşleştirmeyi denedi. Bu tekniğin iyi bir örneği, akciğer tümörlerinin veya nodüllerinin tespitiyle ilgilidir.

Bu yöntemde araştırmacılar, bir tümörün tipik şeklini ve yoğunluğunu temsil eden referans şablonlar oluşturur. Ardından sistem, benzerliği her koordinatta ölçerek bu şablonları hasta taramalarında kaydırır.

Şablon eşleştirmeyle akciğer tümörü algılama

Şekil 4. Şablon eşleştirmeyle akciğer tümörü algılama (Kaynak)

Şablon eşleştirmenin artıları ve eksileri#

Şablon eşleştirme kullanmanın bazı temel avantajları şunlardır:

  • Sezgisel ve anlaşılır: Şablon eşleştirmeyi anlamak ve uygulamak kolaydır; bu da onu yapay zekâ ve bilgisayarlı görü alanında yeni başlayanlar için ideal bir başlangıç noktası yapar.
  • Kontrollü koşullarda güvenilir: Tutarlı aydınlatma koşullarında gri tonlamalı görüntülerde iyi performans gösterir; desenler ve arka planlar sabit olduğunda doğru sonuçlar verir.
  • Kolay entegrasyon: OpenCV gibi Python kütüphanelerini kullanarak şablon eşleştirmeyi karmaşık kurulumlara veya yoğun hesaplama gücüne ihtiyaç duymadan gerçek projelere hızla uygulayabilirsin.

Şablon eşleştirme birçok avantaj sunsa da bazı sınırlamaları vardır. Göz önünde bulundurman gereken birkaç zorluk şunlardır:

  • Ölçek ve dönüşe duyarlı: Şablonun boyutundaki veya yönündeki değişiklikler doğruluğu azaltabilir.
  • Aydınlatma ve kontrasta bağımlılık: Şablon ile görüntü arasındaki aydınlatma veya kontrast değişiklikleri hatalı eşleşmelere yol açabilir ya da şablonun tespit edilmesini zorlaştırabilir.
  • Uyarlanabilirliği sınırlı: Yapay zekâ tabanlı yöntemlerin aksine şablon eşleştirme verilerden öğrenemez veya zaman içinde gelişemez. Kontrollü ya da tekrarlayan ortamlarda en iyi sonucu verir.

Önemli çıkarımlar#

Bilgisayarlı görü geniş bir alandır ve çeşitli teknikleri kapsar. Şablon eşleştirme gibi geleneksel görüntü işleme tekniklerini öğrenmek, görüntü analizinin nasıl işlediğini anlamak için iyi bir başlangıçtır. Modern görü yapay zekâ modelleri aynı temel kavramlar üzerine inşa edilir ve benzer sorunları çözer.

Yapay zekâ hakkında daha fazlasını keşfetmek ister misin? Topluluğumuza katıl ve GitHub depomuza göz at. Perakendede yapay zekânın ve üretimde görü yapay zekâsının değişimi nasıl yönlendirdiğini öğren. Bugün görü yapay zekâsıyla geliştirmeye başlamak için lisanslama seçeneklerimizi keşfet!

Yazan

Abirami Vina
Abirami Vina

İçerik Üreticisi · Ultralytics

Bilgisayarlı görü mühendisi olarak kariyerine başlayan Abirami Vina, görü AI’sı ve makine öğrenimi alanlarında sağlam bir temel oluşturdu. Ultralytics’te İçerik Üreticisi, Scribe of AI’da ise Kurucu ve Baş Yazar olarak AI odaklı şirketler için nitelikli teknik içerikler hazırlıyor. AI’yı hem anlaşılır hem de ilgi çekici kılma tutkusuyla çalışan Abirami, en yeni teknolojiler ile gerçek dünyadaki etkileri arasında köprü kuruyor.

Yorumlar

Soru sor, sonuçlarını paylaş veya başka birine yardım et.

Çözümleri keşfet

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

İHA ve hava görüntülerini Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, koruma çalışmaları ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Uçak denetimi, pistteki yabancı madde tespiti, havaalanı yer operasyonları ve kompozit malzeme kusurlarının tespiti için Ultralytics YOLO ile havacılık ve uzay sektöründe bilgisayarlı görü uygula.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla