Şablon eşleme nedir? Kısa bir rehber
Şablon eşleme olarak adlandırılan görüntü işleme tekniğini, nasıl çalıştığını ve bilgisayarlı görü tarihindeki önemini keşfet.

Görüntüler genellikle insanların kolayca fark edebileceği pek çok küçük ayrıntı 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 aydınlatma, açı, ölçek veya netlikteki küçük değişiklikler bile kafa karıştırıcı olabilir.
Bir makinenin görüntü analiz yetenekleri genellikle birbiriyle yakından ilişkili iki bilgisayar bilimi alanından kaynaklanır: görüntü işleme ve bilgisayarlı görü. Bu alanlar çoğu zaman birlikte çalışsa da temel amaçları farklıdır.
Görüntü işleme, görüntülere ham veri olarak odaklanı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 son teknoloji bilgisayarlı görü yenilikleri çok daha yenidir. Alanın tarihini anlamanın iyi bir yolu, bu sorunları eskiden daha 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 desenin bulunup bulunmadığını tespit etmesi 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 bir şekilde gerçekleştirilebilir. Ancak 2010'larda modern sinir ağları yaygınlaşmadan önce, başvurulan yöntem şablon eşleştirme adı verilen çok daha basit bir teknikti.

Şekil 1. Şablon eşleştirme örneği (Kaynak)
Şablon eşleştirme, küçük bir şablon görüntü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 desene en çok benzeyen konumu bulmasını sağlar.
Bu makalede şablon eşleştirmenin ne olduğunu ve modern iyileştirmelerin gerçek dünya koşullarında bu yöntemi nasıl daha güvenilir hâle getirdiğini inceleyeceğiz. Hadi başlayalım!
Ş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ıştığı için klasik bir bilgisayarlı görü tekniği olarak da adlandırılabilir. Daha büyük bir görüntünün içindeki daha küçük bir deseni bulmak için kullanılır.
Bunun gibi yöntemler, büyük modelleri devasa veri kümeleri üzerinde eğitmek yerine geometri, optik ve matematiksel kurallar kullanılarak tanımlanır. Başka bir deyişle, bir şablon eşleştirme sistemi iki girdi arasındaki parlaklığı, rengi 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 şablon görüntü (bulunacak desen).

Ş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 göründüğü yeri bulmak ve görüntünün farklı bölgeleriyle ne kadar yakından 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 skoru hesaplayarak yapar.
Daha yüksek skora sahip bölgeler en iyi eşleşme olarak kabul edilir; yani bu bölgeler şablona çok benzer. Bu yöntem piksel piksel karşılaştırmalara dayandığı için nesnelerin görünümünün değişmediği kontrollü ortamlarda en iyi sonucu verir.
Ö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 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 adım adım bakalım:
-
1. Adım - Görüntüleri hazırlama: İşlem, girdi görüntüsünün ve şablon görüntünün yüklenmesiyle, ardından her ikisinin de gri tonlamalı görüntüye dönüştürülmesiyle başlar. Şablon eşleştirme piksel değerlerinin karşılaştırılmasına dayandığından, renk bilgisinin kaldırılması gürültüyü azaltır ve görüntü işlemeyi hızlandırır.
-
2. Adım - Ş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 kaydırır (sol üst köşeden başlayarak). Bu hareketteki her adım bir yinelemedir; algoritma bu adımda kaynak görüntüden, şablonun boyutuyla eşleşen bir görüntü parçası çıkarır.
-
3. Adım - Eşleşmenin ne kadar iyi olduğunu ölçme: Her görüntü parçası, olası her konum için bir korelasyon metriği veya korelasyon değeri üretmek ü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 uyuşmazlığı hesaplamak için piksel yoğunlukları arasındaki sayısal mesafeyi ölçer), normalize çapraz korelasyon (aydınlı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.
-
4. Adım - En iyi eşleşmeyi belirleme: Tüm konumlar değerlendirildikten 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 güven skoruna sahip eşleşmelerin kabul edilmesini sağlamak ve zayıf ya da hatalı tespitleri filtrelemek için bu sonuçlara genellikle bir eşik uygulanır.
-
5. Adım - Sonucu vurgulama: Son olarak tespit edilen konum, özgün görüntüye geri eşlenir. 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ümü dağıtımlarında genellikle kullanılmasa da denemek istiyorsan OpenCV gibi Python kütüphaneleri bu süreci basitleştirir ve takip etmesi kolay eğitimler sunar. OpenCV, karmaşık matematiksel karşılaştırmaları yöneten yerleşik bir matchTemplate işlevine sahiptir.
Ayrıca görüntüleri imread işlevini kullanarak yükleme ve cvtColor işlevini kullanarak renkleri dönüştürüp görüntüleri gri tonlamaya çevirme gibi basit görevlere yardımcı olan diğer işlevleri de 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 hâle getirir.
Benzerlik haritasını oluşturduktan sonra OpenCV, tespiti tamamlamak için bir minMaxLoc işlevi de içerir. Bu işlev, tam koordinatlarıyla birlikte küresel minimum ve maksimum değerleri belirlemek üzere haritanın tamamını taramak için 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'nin yanı sıra NumPy gibi kütüphaneler, görüntü dizilerini işlemek ve sonuçlara bir 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, bir ş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ünya uygulamaları#
Şablon eşleştirmenin nasıl çalıştığını artık daha iyi anladığımıza göre, gerçek dünya senaryolarındaki uygulamalarına daha yakından bakalım.
Geleneksel mimari stilleri belirleme#
Kültürel miras ve mimari araştırmalarında araştırmacıların, tasarım desenlerinin bölgeler arasında nasıl farklılaştığını anlamak için tarihi binaların, tapınakların ve anıtların fotoğraflarını analiz etmesi gerekir. Gelişmiş bilgisayarlı görü modelleri yaygın olarak benimsenmeden önce bu yapıları incelemek için görüntü eşleştirme tekniklerini kullanıyorlardı.
Ş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 manuel görüntü analizini azaltabilirler.
İlginç bir örnek Endonezya geleneksel evleri ile ilgili bir çalışmadan geliyor. Araştırmacılar karakteristik özelliklere ait küçük şablonlar 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 mimari stilleri bölgeler genelinde sınıflandırmak için kullanıldı.

Ş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ızlıca tespit edebilen, montajları doğrulayabilen veya kusurları fark edebilen görü sistemlerinden yararlanabilir. Derin öğrenme üretimde 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 alınan 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 aydınlatma sabit olduğunda bu yöntem iyi çalışır.
Şablon eşleştirmeyle akciğer tümörü tespiti#
Son teknoloji sağlık hizmetlerinde etkili olsa da BT taramaları gibi tıbbi görüntüleme yöntemlerinden sağlık sorunlarını teşhis etmek hâlâ zordur. Geleneksel olarak radyologların her tarama kesitini manuel olarak incelemesi gerekiyordu; bu süreç son derece yüksek hassasiyet ve önemli ölçüde zaman gerektiriyordu.
Derin öğrenme sağlık hizmetlerinde uygulanmadan önce araştırmacılar, iş akışını kolaylaştırmak ve anormallikleri belirlemeye yardımcı olmak için şablon eşleştirmeyi kullanmayı 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. Sistem daha sonra bu şablonları hasta taramalarında kaydırarak her koordinattaki benzerliği ölçer.

Şekil 4. Şablon eşleştirmeyle akciğer tümörü tespiti (Kaynak)
Şablon eşleştirmenin artıları ve eksileri#
Şablon eşleştirme kullanmanın bazı temel avantajları şunlardır:
- Sezgisel ve basit: Şablon eşleştirmeyi anlamak ve uygulamak kolaydır; bu da onu yapay zekâ ve bilgisayarlı görü alanındaki yeni başlayanlar için ideal bir başlangıç noktası hâline getirir.
- Kontrollü koşullarda güvenilir: Tutarlı aydınlatma altındaki 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 yoğun hesaplama gerektirmeden gerçek projelere hızla uygulanabilir.
Şablon eşleştirme birçok avantaj sunsa da sınırlamaları da vardır. Akılda tutman gereken bazı zorluklar şunlardır:
- Ölçek ve dönüşe duyarlı: Şablonun boyutundaki veya yönelimindeki değişiklikler doğruluğu azaltabilir.
- Aydınlatmaya ve kontrasta bağımlı: Ş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.
- Sınırlı uyarlanabilirlik: Yapay zekâ tabanlı yöntemlerin aksine şablon eşleştirme verilerden öğrenemez veya zaman içinde kendini geliştiremez. 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 çalıştığını anlamak için iyi bir başlangıç noktasıdır. Son teknoloji görü yapay zekâsı yenilikleri 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 depomuzu incele. 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 lisans seçeneklerimizi keşfet!









