Basamaklı sınıflandırıcılar - Cascading classifiers

Basamaklı belirli bir durumdur toplu öğrenme birkaçının birleştirilmesine göre sınıflandırıcılar, belirli bir sınıflandırıcıdan elde edilen çıktıdan toplanan tüm bilgileri, kademedeki bir sonraki sınıflandırıcı için ek bilgi olarak kullanmak. Çoklu uzman sistemler olan oylama veya istifleme topluluklarının aksine, basamaklama çok aşamalı bir sistemdir.

Basamaklı sınıflandırıcılar, belirli bir nesnenin birkaç yüz "pozitif" örnek görünümü ve aynı boyutta rastgele "negatif" görüntüler ile eğitilir. Sınıflandırıcı eğitildikten sonra, bir görüntünün bir bölgesine uygulanabilir ve söz konusu nesneyi algılayabilir. Tüm çerçevede nesneyi aramak için, arama penceresi görüntü boyunca hareket ettirilebilir ve sınıflandırıcı için her konumu kontrol edebilir. Bu işlem en yaygın olarak görüntü işleme öncelikle nesne algılama ve izleme için yüz tanıma ve tanınma.

İlk basamaklı sınıflandırıcı, yüz dedektörüydü. Viola ve Jones (2001). Bu sınıflandırıcı için gereklilik, düşük güçte uygulanabilmesi için hızlı olmalıydı. CPU'lar kameralar ve telefonlar gibi.

Algoritma özellikleri

Ölçekleme ve döndürmeler

Bu açıklamadan, sınıflandırıcının ters yüz (kaşlar doğru pozisyonda değil) veya yüzün yan tarafındaki (burun artık merkezde olmayan ve yan taraftaki gölgeleri) kabul etmeyeceği görülmektedir. burun eksik olabilir). Görüntü düzleminde (yüzün yanında) olmayan her dönüş için ayrı kademeli sınıflandırıcılar eğitilmeli ve görüntü düzlemindeki her dönüş için yeniden eğitilmeli veya döndürülmüş özellikler üzerinde çalıştırılmalıdır (yüz baş aşağı veya eğimli) yan). Özellikler ölçeklenebildiğinden (merkez piksel, sol piksel ve sağ piksellerin yalnızca incelenen dikdörtgene göre bir boyutu vardır) ölçekleme bir sorun değildir. Son çağlayanlarda, bir dikdörtgenin bir kısmından diğerine kıyasla piksel değeri ile değiştirildi Haar dalgacıkları.

Sahne özellikleri

İyi bir genel performansa sahip olmak için aşağıdaki kriterlerin karşılanması gerekir:

  1. Her aşama tüm yüzleri doğrulamalıdır ve birçok yanlış pozitif üretebilir. Örneğin, aşama 1, bir yüz içeren dikdörtgenlerin% 20'sini 'yüz içermiyor' olarak işaretleyecekse (yanlış negatif oran =% 20), o zaman zincirin toplam performansı% 80'den fazla gerçek pozitif olamaz. Yüzlerin% 20'si zaten reddedildiği için sonraki aşamalar.
  2. Bu, iyi bir aşamada% 100 gerçek pozitif ve örneğin% 40 yanlış pozitif olması gerektiğini gösterir; bu, yüzleri içeren tüm dikdörtgenleri kabul eder ve birçok dikdörtgeni, sonraki aşamalarda elimine edilecek potansiyel olarak bir yüz içerecek şekilde yanlışlıkla işaretler. İlk aşamada,% 100 gerçek pozitif ve% 40 yanlış pozitif, bir görüntüdeki 1000 dikdörtgenin yalnızca 1'inde bir yüz varsa, yine de ilk aşamadan sonra 400-1 yanlış olası yüz olacaktır. .
  3. İlk aşama çok hızlıysa (birkaç işlem), çok hızlı bir şekilde yüz içermeyen dikdörtgenlerin% 60'ını eledik.

Bu nedenle, bir aşama için eğitim prosedürü, birçok zayıf öğrenciye (basit piksel farkı operatörleri) sahip olmak, onları bir grup olarak eğitmek (doğru sonucu verirlerse ağırlıklarını artırmak), ancak yalnızca birkaç aktif zayıf öğrenciye sahip olma konusunda dikkatli olmaktır. zaman düşük kalır.

Viola & Jones'un ilk dedektörü, ilk aşamada 1, sonraki beş aşamada 10, 25, 25, 50 olmak üzere toplamda 6000 özellik olmak üzere 38 aşamaya sahipti. İlk aşamalar, sonraki aşamaların hesaplama maliyetlerini ödemekten kaçınmak için istenmeyen dikdörtgenleri hızla kaldırır, böylece hesaplama süresi, görüntünün nesneyi içerme olasılığı yüksek olan bölümünü derinlemesine analiz etmek için harcanır.

Cascade eğitimi

Basamaklı işlemler genellikle maliyete duyarlı ADAboost aracılığıyla yapılır. Duyarlılık eşiği (örneğimizde 0,8),% 100'e yakın gerçek pozitifler ve bazı yanlış pozitifler olacak şekilde ayarlanabilir. Prosedür daha sonra, istenen doğruluk / hesaplama süresine ulaşılana kadar aşama 2 için tekrar başlatılabilir.

İlk algoritmadan sonra, asgari karmaşıklıkla istenen gerçek tespit oranını elde etmek için kademenin bir bütün olarak eğitilmesinin optimize edilebileceği anlaşıldı. Bu tür algoritmaların örnekleri RCBoost, ECBoost veya RCECBoost'tur. En temel versiyonlarında, istenen doğruluğa ulaşılıncaya kadar, her adımda bir aşama eklemek veya önceki aşamaya zayıf bir öğrenci eklemek arasında seçim yapmak olarak anlaşılabilirler, hangisi daha az maliyetli ise, istenen doğruluğa ulaşılana kadar. Sınıflandırıcının her aşaması, istenen hızın altında bir algılama oranına (duyarlılığa) sahip olamaz, bu nedenle bu bir kısıtlı optimizasyon sorun. Kesin olmak gerekirse, toplam hassasiyet, sahne hassasiyetlerinin ürünü olacaktır.

Cascade sınıflandırıcılar şu ülkelerde mevcuttur: OpenCV, ön yüzler ve üst gövde için önceden eğitilmiş kademeli. Haar_training veya train_cascades yöntemleriyle OpenCV'de yeni bir kademeli eğitim de mümkündür. Bu, insan olmayan nesneler dahil olmak üzere daha spesifik hedeflerin hızlı nesne tespiti için kullanılabilir. Haar benzeri özellikler. Süreç iki örnek kümesi gerektirir: negatif ve pozitif, burada negatif örnekler rastgele nesne olmayan görüntülere karşılık gelir. Bir kademeli sınıflandırıcı eğitiminde zaman kısıtlaması kullanılarak aşılabilir Bulut bilişim yöntemler.

İstatistiklerde basamaklı sınıflandırıcılar

Terim ayrıca istatistikte aşamalı bir modeli tanımlamak için kullanılır. Örneğin, bir sınıflandırıcı (örneğin k-ortalar), bir özellik vektörü (karar değişkenleri) alır ve her olası sınıflandırma için çıktılar, vektörün sınıfa ait olma olasılığını verir. Bu genellikle bir karar almak için kullanılır (en yüksek olasılığa sahip sınıfa sınıflandırma), ancak kademeli sınıflandırıcılar bu çıktıyı başka bir modele (başka bir aşama) girdi olarak kullanır. Bu, özellikle tüm etkileşim terimlerine bakmadan uydurulamayan yüksek düzeyde kombinatoryal veya sayma kurallarına (örneğin, tam olarak iki özellik negatifse sınıf1, aksi halde sınıf2) sahip modeller için yararlıdır. Basamaklı sınıflandırıcılara sahip olmak, ardışık aşamanın sınıflandırmanın kombinatoryal doğasına kademeli olarak yaklaşmasını veya sınıflandırma algoritmalarına onları tek aşamada ifade edemeyen etkileşim terimleri eklemesini sağlar.

Basit bir örnek olarak, kuralı eşleştirmeye çalışırsak (3'ten tam olarak 2 özellik negatifse sınıf1, aksi halde sınıf2), bir karar ağacı şöyle olur:

  • özellik 1 negatif
    • özellik 2 negatif
      • özellik 3 negatif -> sınıf2
      • özellik 3 pozitif -> sınıf1
    • özellik 2 pozitif
      • özellik 3 negatif -> sınıf1
      • özellik 3 pozitif -> sınıf2
  • özellik 1 pozitif
    • özellik 2 negatif
      • özellik 3 negatif -> sınıf1
      • özellik 3 pozitif -> sınıf2
    • özellik 2 pozitif
      • özellik 3 negatif -> sınıf2
      • özellik 3 pozitif -> sınıf2

Ağaç, kural setinin tamamını ifade etmek için olası yaprakların tüm kombinasyonlarına sahiptir, oysa (özellik1 pozitif, özellik2 negatif) ve (özellik1 negatif, özellik2 pozitif) aslında aynı kurala katılmalıdır. Bu, yapraklarında çok az örnek bulunan bir ağaca yol açar. İki aşamalı bir algoritma, özellik1 veya (dışlayıcı) özellik2 negatifse, sınıf1'e orta-yüksek bir olasılık vererek bu iki durumu etkili bir şekilde birleştirebilir. İkinci sınıflandırıcı, bu daha yüksek olasılığı yakalayabilir ve özellik3'ün işareti hakkında bir karar verebilir.

İçinde önyargı varyansı ayrıştırma, kademeli modeller genellikle varyansı artırırken önyargıyı düşürürken görülür.

Ayrıca bakınız

Referanslar

Kaynaklar

  • Gama, J .; Brazdil, P. (2000). "Basamaklı Genelleme". Makine öğrenme. 41 (3): 315–343. CiteSeerX  10.1.1.46.635. doi:10.1023 / a: 1007652114878.
  • Minguillón, J. (2002). Küçük Karar Ağaçlarının Basamaklanması Üzerine (Doktora tezi). Universitat Autònoma de Barcelona.
  • Zhao, H .; Ram, S. (2004). "Karar Ağaçlarının Sınırlandırılmış Basamaklı Genellemesi". Bilgi ve Veri Mühendisliğinde IEEE İşlemleri. 16 (6): 727–739. CiteSeerX  10.1.1.199.2077. doi:10.1109 / tkde.2004.3.