20 Nisan 2016 Çarşamba

Perpective Deformable Model Halcon 12.0

Halcon kullanamaya başlayan herkesin sıkıntısı internette yeteri kadar tartışma bulamaması olsa gerek. Dökümanları baya yararlı ama ilk etapta kavramak mümkün olmayabiliyor. O sebepten yazmaya karar verdim. Halconun eşleme için geniş çözüm önerileri var. Benim senaryomda perfpektif bozulmaları mevcut olduğu için bu modeli seçtim. Öncelikle model oluşturmamız gerekiyor. Kullanacağımız fonksiyon "create_planar_uncalib_deformable_model". Bu fonksiyona logonun resmini veriyoruz. Yada logonun bulunduğu kısma indirgediğimiz görüntüyü de verebiliriz. Ben denemelerim sonucu logo resmi ile daha yüksek başarım yakaladım.
Logonun olduğu bölgeye indirgediğimiz resmin şöyle bir güzelliği var . Logonun işaretlendiği bölgeyi arama yaparken kullanıyor. Aramaya o bölgeden başlıyor. Aramayı hızlandırmış oluyorsunuz. Test edeceğiniz görüntülerde logo aşağı yukarı aynı bölgedeyse bunu kullanmak avantajlı.

Ayarlanması gereken parametreler var
NumLevels : Şeklin piramidi oluşturuluyor. En alt basamakta orijinal boyutta logonun şekli , diğer basamaklarda bir önceki basamaktaki logonun yarısı, bu şekilde devam ediyor. Siz çok yüksek bir sayı girsenizde halcon şeklin anlamlı olduğu son basamağa göre girdiğiniz sayıyı değiştiriyor.

AngleStart, AngleExtent, AngleStep : Rotasyon aralığını ve adım büyüklüğünü belirlemeniz için. Dikkat etmeniz gereken AngleExtend aralığın kaç derece olduğu. Yani rotasyon aralığın -10 , 10 arası yapmak istiyorsanız AngleStart : -10 , AngleExtend : 20 derece olacak.

ScaleRMin, ScaleRMax, ScaleRStep : Benim anladığım ve test ettiğim kadarıyla 2 kullanımı var.
1. Eğer model oluşturmak için kullandığınız logo ile test resimlerindeki logolar yatay ve dikey yönde eşit oranda büyüyor ya da küçülüyorsa bu parametreler test resimlerinde logolar model logonun kaç katı aralığında değişiyor.
2. Yatay ve dikey büyüme eşit değilse satır bazında büyüme aralığı

ScaleCMin, ScaleCMax, ScaleCStep : Sütun bazında büyüme aralığı. Büyüme üstteki parametrenin 1. kısmında anlattığım gibiyse bu değerleri 1 olarak girin.

Optimization : Şeklin az sayıda nokta ya da çok sayıda nokta içermesini ayarlayan parametre

Metric : Logonuzun arkaplan ya da önce plan renkleri değişmiyorsa polarity yi kullanabilirsiniz , Değilse polarity i ignore etmeniz gerekir. Bir başka seçenek değişken polarity.

Contrast : Şeklin kenarlarının kontrastı .

MinContrast : Logo aratılırken şeklin kenarlarının olması beklenen kontrast

Parametreleri ayarlayıp modeli oluşturduktan sonra "inspect_shape_model" ile oluşturulan modeli kontrol etmekte fayda var. Sonraki aşama "find_planar_uncalib_deformable_model" fonksiyonu ile arama yapmak.

Aynı isimli parametrelerin anlamı yukarda yazdıklarımla aynı.

MinScore : Modelin gözükürlüğü. Çok düşük tutmak yanlış yerlerle eşlemesine sebep oluyor. Çok yüksek tutmak logoların bulunamaması ile sonuçlanıyor. Değeri yükseltmek işleme süresinin azarltıyor.

MaxOverlap : Logoların üst üste binebilmesi durumu.

Greediness : Algoritmanın ne kadar aç gözlü davranacağı.

HomMat2D : Homografi matrix

Score : Elde edilen skor

Hiç yorum yok :

Yorum Gönder