2012-11-26 23 views
10

(en elma logosu diyelim).Kendi haar cascade'imi nasıl oluşturur ve uygularım? Belirli bir logo algılamak için, piton ile kullanım için, kendi Haar kaskad xml dosyası oluşturma ilgileniyorum

Ben geçerli işleyen çağlayan dosyasını almak rağmen, hiçbir şey algılamaz, http://docs.opencv.org/trunk/doc/user_guide/ug_traincascade.html ve http://note.sonots.com/SciSoftware/haartraining.html

Sorun adresindeki talimatları uygulayarak çalıştılar. özellikle, oluşturmak için kullanılan orijinal görüntü içindeki nesneyi algılamaya çalıştığımda, o zaman bile algılanmaz.

Zaten görüntüyü yeniden boyutlandırma, ya da sadece bir resimde takarak daha geniş bir bağlamda koyarak çalıştı.

Neyi yanlış yapıyorum?

kabuk, ben çalıştırın:

opencv_createsamples -img original.jpg -bg negatives.dat -vec samples_set.vec -w 48 -h 48 

opencv_traincascade -bg negatives.dat -data mycascade -vec samples_set.vec -w 48 -h 48 

bir çağlayan dosyası oluşturarak, çok iyi çalışıyor görünüyor ki. python Sonra :

import cv2 
cascade2 = cv2.CascadeClassifier('mycascade.xml') 
cv2Image = cv2.imread('original.jpg') 
cascade2.detectMultiScale(cv2Image) 

ve tespit boş çıkageldi. Python ile gelen bir "standart" xml ile test etmeye çalıştım ve işe yarıyor, bu yüzden benim için bir şey yanlış.

+0

Ben logosu şekilleri çıkarılan özellikler de maç edecektir genellikle sabit olduğundan SIFT/SURF/ORB/Mser .. kullanan özellikler çıkarma ve eşleştirme için gitmek öneririz. Benim oppionion haar özellikleri ile logo algılama yapmak için çok garip olacaktır.Çünkü genellikle logosunun diğer nesneler (yüz, gözler, burun vb) gibi opencv ile eğitilecek yeterli özelliklere sahip değildir. Logolar genellikle kenar ve köşelerle doludur. Ama sonuçlarınızı da duymak istiyorum. – isrish

+0

-w 48 -h 48 oldukça fazla görünüyor. (varsayılan 24'tir). Daha küçük değerler denediniz mi? yaratılan örnekler aşamasında logonuzun boyutu değil, 'dahili boyut' – berak

cevap

2

Ben şimdi size soru sordunuz çünkü 2 yıl olmuştur tarafından cevap bulduk umut! her neyse, aynı soruyu duyabilen herkes için bildiklerimi paylaşacağım. Bu konuyla ilgili en iyi ve tamamen açıklanmış eğiticilerinden biri Coding-Robin'dan ve kişisel olarak orada çok şey öğrendim. Unutulmaması gereken bir şey, haar çağlayanı oluşturmaya dahil olan aynı görüntüyü kullanmamanız ve bunun sebebi, basitçe zaten pozitif (veya negatif) bir örnek olarak sınıflandırılmış olmasıdır, bu yüzden onu işlemeye çalışmak oldukça işe yaramaz. Eğer gerçekten Logo algılama yapıyorsanız