YOLO Vision 2026:
Kılavuzlar

Şablon eşleştirme nedir? Hızlı bir rehber

Şablon eşleştirme (template matching) olarak adlandırılan görüntü işleme tekniğini, nasıl çalıştığını ve bilgisayarlı görü tarihindeki önemini keşfet.

ABAbirami Vina5 min read
Görüntü işlemede şablon eşleştirme örneği

Görüntüler genellikle insanların kolayca fark edebileceği çok sayıda ince detay barındırır. Ancak makineler için bu görev o kadar basit değildir. Makineler dijital bir görüntüyü piksel değerlerinden oluşan bir ızgara olarak algılar ve ışıklandırma, açı, ölçek veya netlikteki küçük değişiklikler bile kafa karıştırıcı olabilir.

Bir makinenin görüntü analizi yetenekleri genellikle yakından ilişkili iki bilgisayar bilimi alanından gelir: görüntü işleme ve computer vision. Genellikle birlikte çalışsalar da farklı temel amaçlara sahiptirler.

Image processing, görüntüleri ham veri olarak ele alır. Görüntüleri iyileştirebilir, ancak içeriklerini anlamaya çalışmaz. Computer vision tam burada fark yaratır. Computer vision, makinelerin görüntüleri ve videoları anlamasını sağlayan bir artificial intelligence (AI) dalıdır.

Temel görüntü işleme uzun yıllardır hayatımızda olsa da, en gelişmiş bilgisayarlı görü yenilikleri çok daha yenidir. Alanın tarihini anlamanın harika bir yolu, bu sorunları çözmek için eskiden kullandığımız geleneksel yöntemlere geri dönüp bakmaktır.

Örneğin image matching ele alalım. Bu, bir sistemin daha büyük bir görüntü içinde belirli bir nesnenin veya kalıbın bulunup bulunmadığını bulmasını gerektiren yaygın bir vision görevidir.

Günümüzde bu, AI ve derin öğrenme kullanılarak kolay ve doğru bir şekilde yapılabilmektedir. Ancak 2010'lu yıllarda 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.

An example of template matching

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

Ş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. Bu konvolüsyon benzeri kaydırma işlemi, algoritmanın o belirli desenle en yakından eşleşen konumu bulmasını sağlar.

Bu makalede şablon eşleştirmenin ne olduğunu ve modern iyileştirmelerin onu gerçek dünya durumlarında nasıl daha güvenilir hale getirdiğini keşfedeceğiz. Hadi başlayalım!

Şablon eşleştirme nedir?#

Şablon eşleştirme aynı zamanda klasik bir bilgisayarlı görü tekniği olarak da adlandırılabilir; bu, doğrudan görüntü pikselleriyle (dijital bir görüntünün en küçük birimi) çalıştığı anlamına gelir. Daha büyük bir görüntü içinde daha küçük bir desen bulmak için kullanılır.

Bu gibi yöntemler, büyük veri kümeleri üzerinde büyük modeller eğitmek yerine geometri, optik ve matematiksel kurallar kullanılarak tanımlanır. Diğer bir deyişle, bir şablon eşleştirme sistemi iki girdi arasındaki parlaklık, renk ve diğer piksel bilgilerini karşılaştırır: girdi görüntüsü (daha büyük görüntü) ve daha küçük bir şablon görüntüsü (bulunacak desen).

Image A and Image B as examples of templates

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

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

Daha yüksek puanlı bölgeler en iyi eşleşme olarak kabul edilir, yani şablona çok benzerler. Bu yöntem piksel bazlı karşılaştırmalara dayandığından, nesnelerin görünümünün değişmediği kontrollü ortamlarda en iyi şekilde çalışır.

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

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

İşte şablon eşleştirmenin nasıl çalıştığına dair adım adım bir genel bakış:

  • Adım 1 - Görüntüleri hazırlama: İşlem, girdi görüntüsünü ve şablon görüntüsünü yükleyip ardından her ikisini de gri tonlamalı bir görüntüye dönüştürerek 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ü üzerinde her seferinde bir piksel olacak şekilde (sol üst köşeden başlayarak) kaydırır. Bu hareketin her adımı bir yinelemedir ve algoritma, kaynak görüntüden şablonun boyutuyla eşleşen bir görüntü yaması çıkarır.

  • Adım 3 - Eşleşmenin ne kadar iyi olduğunu ölçme: Her görüntü yaması, her olası konum için bir korelasyon metriği veya korelasyon değeri oluşturmak üzere matematiksel bir eşleştirme yöntemi kullanılarak şablonla karşılaştırılır. Yaygın yaklaşımlar arasında karesel farklar (toplam uyumsuzluğu hesaplamak için piksel yoğunlukları arasındaki sayısal mesafeyi ölçer), normalleştirilmiş çapraz korelasyon (ışık ve karanlık desenlerinin ne kadar iyi hizalandığını belirlemek için piksel değerlerini çarpar) ve korelasyon katsayısı (aydınlatma biraz değişse bile eşleşmenin doğru kalmasını sağlamak için ortalama parlaklığı çıkarır) bulunur.

  • Adım 4 - En iyi eşleşmeyi tanımlama: Tüm konumları değerlendirdikten sonra algoritma, kullanılan yönteme bağlı olarak maksimum veya minimum değeri bularak en iyi eşleşmeyi seçer. Yalnızca yeterince yüksek bir güven puanına sahip eşleşmelerin kabul edilmesini sağlamak ve zayıf veya yanlış tespitleri filtrelemek için bu sonuçlara genellikle bir eşik değeri uygulanır.

  • Adım 5 - Sonucu vurgulama: Son olarak, tespit edilen konum orijinal görüntü üzerine geri eşlenir. Genellikle, şablonun nerede göründüğünü net bir şekilde göstermek için eşleşen bölgenin etrafına bir sınırlayıcı kutu çizilir.

Şablon eşleştirmeyi uygulamalı öğrenme#

Görüntü işlemeye dayalı şablon eşleştirme, beraberinde getirdiği dezavantajlar nedeniyle genellikle dinamik gerçek dünya computer vision çözümlerinin dağıtımlarında kullanılmasa da, bunu denemekle ilgileniyorsan, OpenCV gibi Python kütüphaneleri bu süreci kolaylaştırır ve ayrıca takip etmesi kolay eğitimler sunar. Karmaşık matematiksel karşılaştırmaları yöneten yerleşik bir matchTemplate fonksiyonuna sahiptir.

Ayrıca, imread fonksiyonunu kullanarak görüntü yükleme ve görüntüleri gri tonlamaya dönüştürmek için cvtColor fonksiyonunu kullanma gibi basit görevlerde yardımcı olan diğer fonksiyonları da destekler. Renk dönüşümü kritik bir adımdır çünkü bir 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 hale getirir.

Benzerlik haritasını oluşturduktan sonra, OpenCV tespiti tamamlamak için bir minMaxLoc fonksiyonu da içerir. Bu, genel minimum ve maksimum değerleri tam koordinatlarıyla tanımlamak için haritanın tamamını taramak amacıyla kullanılabilir. 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'ye ek olarak, NumPy gibi kütüphaneler görüntü dizilerini işlemek ve sonuçlara eşik değeri uygulamak için önemlidir; Matplotlib ise benzerlik haritasını ve nihai tespiti görselleştirmek için yaygın olarak kullanılır. Bu araçlar birlikte, bir şablon eşleştirme çözümü oluşturmak ve hata ayıklamak için eksiksiz bir ortam sağlar.

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

Artık şablon eşleştirmenin nasıl çalıştığına dair daha iyi bir anlayışa sahip olduğumuza göre, gerçek dünya senaryolarındaki uygulamasına daha yakından bakalım.

Geleneksel mimari stilleri tanımlama#

In cultural heritage and architectural studies, researchers have to analyze photographs of historic buildings, temples, and monuments to understand how design patterns vary across regions. Before advanced computer vision models became widely adopted, they used image-matching techniques to study such structures.

Şablon eşleştirme, araştırmacıların çatı ana hatları, pencere düzenlemeleri veya duvar motifleri gibi belirli mimari ipuçlarına odaklanmasını sağlar. Şablonları veya referans görüntülerini daha büyük görüntüler üzerinde kaydırarak, tekrarlayan şekilleri tanımlayabilir ve saatler sürebilecek manuel görüntü analizini azaltabilirler.

İlginç bir örnek, Indonesian traditional houses ile ilgili bir çalışmadan gelmektedir. Araştırmacılar karakteristik özelliklerin küçük şablonlarını oluşturdu ve bunları tam ölçekli fotoğraflarla karşılaştırdı. Bu yaklaşım, şablonla yakından eşleşen görüntü bölgelerini vurgulamak ve bölgeler arasındaki mimari tarzları sınıflandırmak için kullanıldı.

Using template matching to classify traditional houses in Indonesia

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

Endüstriyel görü sistemlerinde nesne tespiti#

Endüstriyel ortamlar, bileşenleri hızlı bir şekilde tespit edebilen, montajları doğrulayabilen veya kusurları fark edebilen vision sistemlerinden yararlanabilir. Derin öğrenme manufacturing 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 ifade etmek gerekirse, bir bileşen referans şablonu, üretim hattından gelen görüntüleri taramak ve şablonla eşleşen bölgeleri vurgulamak için kullanılabilir. Bu, parçalar tutarlı konumlarda göründüğünde ve ışıklandırma sabit olduğunda iyi çalışır.

Akciğer tümörü tespiti için şablon eşleştirme#

En son teknoloji sağlık sektöründe etki yaratırken bile, BT taramaları gibi medical imaging verilerinden sağlık sorunlarını teşhis etmek hala zordur. Geleneksel olarak radyologlar, aşırı hassasiyet ve significant zaman gerektiren bir süreç olan her tarama kesitini manuel olarak incelemek zorundaydı.

Derin öğrenme sağlık hizmetlerinde uygulanmadan önce araştırmacılar, iş akışını hızlandırmak ve anormallikleri belirlemeye yardımcı olmak için şablon eşleştirmeyi kullanmaya çalıştılar. Bu tekniğin iyi bir örneği, akciğer tümörlerinin veya nodüllerinin tespiti ile ilgilidir.

Bu yöntemde araştırmacılar, bir tümörün tipik şeklini ve yoğunluğunu temsil eden referans şablonları oluştururlar. Sistem daha sonra bu şablonları hasta taramaları üzerinde kaydırarak her koordinatta benzerliği ölçer.

Lung tumour detection using template matching

Şekil 4. Şablon eşleştirme kullanılarak akciğer tümörü tespiti (Source)

Şablon eşleştirmenin avantajları ve dezavantajları#

İşte şablon eşleştirme kullanmanın bazı temel avantajları:

  • Sezgisel ve anlaşılır: Şablon eşleştirmenin anlaşılması ve uygulanması kolaydır, bu da onu AI ve bilgisayarlı görüye yeni başlayanlar için ideal bir başlangıç noktası haline getirir.
  • Kontrollü koşullarda güvenilir: Tutarlı ışıklandırma altında gri tonlamalı görüntülerde iyi performans gösterir ve desenler ile arka planlar sabit olduğunda doğru sonuçlar verir.
  • Kolay entegrasyon: OpenCV gibi Python kütüphanelerini kullanarak şablon eşleştirme, karmaşık kurulum veya ağır hesaplama gerektirmeden gerçek projelere hızlıca uygulanabilir.

Şablon eşleştirme birçok avantaj sunsa da sınırlamaları da vardır. Aklında bulundurman gereken birkaç zorluk şunlardır:

  • Ölçek ve döndürmeye duyarlı: Şablonun boyutundaki veya yönündeki değişiklikler doğruluğu azaltabilir.
  • Işıklandırma ve kontrast bağımlılığı: Şablon ile görüntü arasındaki ışıklandırma veya kontrast değişiklikleri yanlış eşleşmelere neden olabilir veya şablonun tespit edilmesini zorlaştırabilir.
  • Sınırlı uyarlanabilirlik: AI tabanlı yöntemlerin aksine, şablon eşleştirme verilerden öğrenemez veya zamanla gelişemez. En iyi şekilde kontrollü veya tekrarlayan ayarlarda çalışır.

Öne çıkanlar#

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 çalıştığını anlamak için harika bir başlangıç noktasıdır. En yeni görü AI yenilikleri aynı temel kavramlar üzerine inşa edilir ve benzer sorunları çözer.

AI hakkında daha fazla bilgi edinmek ister misin? community katılım sağla ve GitHub repository göz at. AI in retail ve vision AI in manufacturing alanlarının değişime nasıl öncülük ettiğini öğren. Vision AI ile hemen geliştirmeye başlamak için licensing options incele!

Explore solutions

Real-time AI that works with your team

Robotikte AI

Daha akıllı makineleri Ultralytics YOLO modelleriyle destekle. Robotikteki Vision AI; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Lojistikte Yapay Zeka

Ultralytics YOLO modelleri ile lojistiği kolaylaştır. Görü Yapay Zekası; paket inceleme, ayıklama, araç takibi ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Real-time AI that works with your team

Perakendede AI

Perakendeyi Ultralytics YOLO modelleri ile yeniden hayal et. Görü Yapay Zekası; envanter takibi, raf izleme, sıra yönetimi ve daha akıllı müşteri içgörüleri sağlar.
Daha fazla bilgi edin
Real-time AI that works with your team

Sağlıkta Yapay Zeka

Ultralytics YOLO modelleriyle sağlık çözümleri oluştur. Sağlıkta görüntü tabanlı yapay zeka; daha hızlı tıbbi görüntülemeyi, daha akıllı teşhisleri ve hasta izlemeyi güçlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Üretimde Yapay Zeka

Ultralytics YOLO modelleri ile üretimi optimize et. Görü Yapay Zekası; kalite kontrol, kusur tespiti, KKD uyumu ve montaj hattı otomasyonunu yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your operation

Otomotivde yapay zeka

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görü uygula. Görüntü tabanlı yapay zeka; yol güvenliğini, sürücü yardımını ve araç otomasyonunu daha akıllı yollar için geliştirir.
Daha fazla bilgi edin
Real-time AI tailored to your operation

Tarımda yapay zeka

Ultralytics YOLO modelleriyle akıllı tarıma görüntü tabanlı yapay zeka getir. Daha yüksek ve akıllı verimler için mahsul takibini, hayvancılık izlemeyi ve hassas tarımı güçlendir.
Daha fazla bilgi edin
Real-time AI that works with your team

Robotikte AI

Daha akıllı makineleri Ultralytics YOLO modelleriyle destekle. Robotikteki Vision AI; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Lojistikte Yapay Zeka

Ultralytics YOLO modelleri ile lojistiği kolaylaştır. Görü Yapay Zekası; paket inceleme, ayıklama, araç takibi ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Real-time AI that works with your team

Perakendede AI

Perakendeyi Ultralytics YOLO modelleri ile yeniden hayal et. Görü Yapay Zekası; envanter takibi, raf izleme, sıra yönetimi ve daha akıllı müşteri içgörüleri sağlar.
Daha fazla bilgi edin
Real-time AI that works with your team

Sağlıkta Yapay Zeka

Ultralytics YOLO modelleriyle sağlık çözümleri oluştur. Sağlıkta görüntü tabanlı yapay zeka; daha hızlı tıbbi görüntülemeyi, daha akıllı teşhisleri ve hasta izlemeyi güçlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Üretimde Yapay Zeka

Ultralytics YOLO modelleri ile üretimi optimize et. Görü Yapay Zekası; kalite kontrol, kusur tespiti, KKD uyumu ve montaj hattı otomasyonunu yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your operation

Otomotivde yapay zeka

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görü uygula. Görüntü tabanlı yapay zeka; yol güvenliğini, sürücü yardımını ve araç otomasyonunu daha akıllı yollar için geliştirir.
Daha fazla bilgi edin
Real-time AI tailored to your operation

Tarımda yapay zeka

Ultralytics YOLO modelleriyle akıllı tarıma görüntü tabanlı yapay zeka getir. Daha yüksek ve akıllı verimler için mahsul takibini, hayvancılık izlemeyi ve hassas tarımı güçlendir.
Daha fazla bilgi edin
Real-time AI that works with your team

Robotikte AI

Daha akıllı makineleri Ultralytics YOLO modelleriyle destekle. Robotikteki Vision AI; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Lojistikte Yapay Zeka

Ultralytics YOLO modelleri ile lojistiği kolaylaştır. Görü Yapay Zekası; paket inceleme, ayıklama, araç takibi ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Real-time AI that works with your team

Perakendede AI

Perakendeyi Ultralytics YOLO modelleri ile yeniden hayal et. Görü Yapay Zekası; envanter takibi, raf izleme, sıra yönetimi ve daha akıllı müşteri içgörüleri sağlar.
Daha fazla bilgi edin
Real-time AI that works with your team

Sağlıkta Yapay Zeka

Ultralytics YOLO modelleriyle sağlık çözümleri oluştur. Sağlıkta görüntü tabanlı yapay zeka; daha hızlı tıbbi görüntülemeyi, daha akıllı teşhisleri ve hasta izlemeyi güçlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Üretimde Yapay Zeka

Ultralytics YOLO modelleri ile üretimi optimize et. Görü Yapay Zekası; kalite kontrol, kusur tespiti, KKD uyumu ve montaj hattı otomasyonunu yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your operation

Otomotivde yapay zeka

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görü uygula. Görüntü tabanlı yapay zeka; yol güvenliğini, sürücü yardımını ve araç otomasyonunu daha akıllı yollar için geliştirir.
Daha fazla bilgi edin
Real-time AI tailored to your operation

Tarımda yapay zeka

Ultralytics YOLO modelleriyle akıllı tarıma görüntü tabanlı yapay zeka getir. Daha yüksek ve akıllı verimler için mahsul takibini, hayvancılık izlemeyi ve hassas tarımı güçlendir.
Daha fazla bilgi edin

Yapay zekanın geleceğini birlikte inşa edelim!

Yolculuğuna makine öğreniminin geleceğiyle başla