Defne Yaprağı Ayrıştırmada Matematiksel Yaklaşım

Daha önceki blog kayıtlarımızda sıklıkla bahsettiğimiz Hatalı Defne Yaprağı Ayrıştırma Projemize tamamen matematiksel yöntemlerle çalışan, daha hızlı ve daha güvenilir sonuçlar veren yeni bir yaklaşım ekledik.

Matematikte Saddle Point (Semer Noktası) olarak bilinen fonksiyonun,  defne yapraklarına uyarlanması temelinde yapılan işlemler, daha kısa sürede ve daha hızlı sonuçlar vermektedir. Görüntü işleme fonksiyonları ile matematiksel fonksiyonların eş zamanlı olarak kullanıldığı bu yeni yaklaşımda, işlemci (cpu) hızı artırıldıkça, doğru orantılı olarak işlemin sonlanma hızı da artmaktadır. (Salt görüntü işleme fonksiyonları kullanılsaydı, işlemci hızının artışı yine olumlu sonuçlar verecekti fakat işlemcide geçmeyen süreler – kameralardan görüntünün alınması, veriyolunda kaybedilen zamanlar, hafızaya okuma/yazma süreleri vb. – yüzünden beklenen hız artışı daha sınırlı kalacaktı.)

 

 

 

 

 

 

 

Yukarıdaki resimde, sağlam ve hatalı yaprağın, üst yarısının kenar çizgileri gösterilmiştir. İdeal bir yaprakta (hatasız) semer noktası (saddle point) hiç olmamalıdır.

Analiz Yöntemi :

  1. Yaprak yatay düzlem ile sıfır derece açı yapacak şekilde döndürülür
  2. Yaprağın alt ve üst bölgelerinin konturları (contours) çıkartılır
  3. Çıkartılan konturlara ait, satır-sütun değerleri fonksiyonel olarak çıkartılır
  4. Oluşturulan 2 boyutlu fonksiyonda semer noktaları (saddle points) aranır
  5. Semer noktaları derinliği belirlenen değerlerden fazla ise yaprak hatalıdır
  6. Yaprak yatay eksenle 90 derece açı yapacak şekilde döndürülür (Sol ve Sağ tarafı baş aşağı gelecek şekilde)
  7. Tüm kontroller yeniden yapılır.

Tüm bu işlemlerde kullanılan belli başlı HALCON operatörleri :

  • Contour processing (edge-detection, smooth contours, union contours…)
  • 1d fonksiyonel işlemleri (create_funct_1d_pairs, derivate_funct_1d  …)
  • Semer Noktası işlemleri (saddle_points_sub_pix …)

Bu kez çalışan HALCON kodu örneği yerine kullanılan fonksiyonları ve yöntemi açıkladım. Konuyla ilgilenenlerin olması ve ulaşması durumunda çalışan gerçek kodlar ile daha detaylı paylaşımlarda bulunabiliriz.