Field Morphing

Merhaba değerli arkadaşlar bu yazımda sizlere yine Morfleme hakkında bilgiler sunacağım.Bu yazım aynı zamanda bir önceki yazımın devamı niteliğindedir.Morfleme yönteminde iki algoritma bulunduğunu ve bunların Field morphing ve Mesh morphing olduğunu önceki yazımda belirtmiştim.

Bu yazımda sizlere Field morphing hakkında geniş çapta bilgiler sunacağım.Field morphing yöntemi 1992 yılında Beier ve Neely tarafından önerilen bir algoritmadır.Şimdi Field Morphing yöntemini kullanarak gerçeklemiş olduğumuz uygulamamızın çıktısını aşağıda vereceğim.

Field Morphing algoritmasının çalışma adımları şunlardır.

  1. Resimde Yüz bölgesinin algılanması (Face Detection)
  2. Yüz bölgesinde Özellik noktalarının belirlenmesi
  3. Kontrol segmentlerinden Ağırlıklı ortalamanın hesaplanması ve Yeni segmentin bulunması
  4. Resim üzerinde tüm pixellerin Segmentlere olan Diklik Şartının Bulunması
  5. Kaynak resimlerden belirlenen Segmentlerin Hedef resim üzerinde karşı düşeceği Segmentin hesaplanması ve benzer geometrik durumların bulunması
  6. Kaynak Resimlere Cross Dissolving uygulayıp hedef resim üzerinde ki pixellerin renk değerlerinin Bulunması

Yukarıda belirtilen adımları elimden geldiği kadar ve dilimin döndüğü ölçüde sizlere anlatmaya çalışacağım.Yalnız ilk iki adıma daha önceki yazılarımda anlatmış olduğum için onlara değinmeyeceğim. Onun dışında kalan adımları elimden geldiği kadarıyla anlatacağım.

Kontrol segmentlerinden Ağırlıklı ortalamanın hesaplanıp Yeni Segmentin Bulunması

Kaynak resimler yani Morflenecek resimler üzerinde belirlenen eşit sayıda segmentlerden her birisi için hedef resim yani morflenmiş resim üzerinde karşı düşen segmenti bulmalıyız.

Bunun için kaynak resimlerdeki segmentlerin kordinatlarını kullanarak yeni oluşturacağımız morflenmiş resim üzerinde segment kordinatlarını hesaplayabiliriz.

Bunun için İlk resim üzerinde ki her bir segment i vektör olarak tanımladığımızda ilk resimdeki vektörleri m1 diye adlandıracağım.İkinci resim üzerinde ki segmentleride yine vektör şeklinde ele alıp ordaki her bir vektör için  m2 vektörünü kullanacağım.

Hedef resim üzerinde yani 2 resmi morfleyip elde edeceğim resim üzerinde belirlenecek vektörler için ise m0 vektörünü kullanacağım.

Ağırlıklı ortalamayı bulurken burada her bir segmentin yani her bir vektörün başlangıç noktasından yani kordinat düzleminden olan uzaklığının belirlenmesi için ise kordinat düzleminin başlangıcından yani orjinden her bir segmente bir vektör çizilecektir.

1.resim için çizilecek vektörler n1 vektörü 2.resim için çizilecek vektörler ise n2 vektörü son olarak hedef resim yani morflenmiş resimde karşı düşen vektör için ise n0 vektörünü kullanacağım. Aşağıda bu görsel olarak belirtilmiştir buradan daha rahat olarak anlayabileceksinizdir.

M0 ve n0 vektörlerinin nasıl bulunduğunu aşağıda ki formülde belirtilmiştir.

m0=m1+alfa*(m2-m1)

n0=n1+alfa*(n2-n1)

Yukarıda m0 ve n0 nasıl bulunduğunu belirtmişim burada alfa değerinin ne olduğunu sadece belirtmişim.Alfa değeriyse resimlerin hangi oranda birleşeceğinin belirtildiği değerdir.Genel olarak 0.5 olarak alınmaktadır.

Resim üzerinde tüm pixellerin Segmentlere olan Diklik Şartının Bulunması

Field morphing algoritmasının gerçekleştirilmesi için inverse mapping ve reverse mapping yöntemleri bulunmaktadır.Reverse mapping yönteminin daha effectice olduğunu düşündüğüm için bu metodu ele alacağım.

Bu metot da daha öncede belirttiğim gibi Morflenecek resimler üzerinde ki pixeller ve segmentlerin hedef resim üzerinde iz düşeceği pixellerin ve segmentlerin bulunması hedeflenmiştir.

Bu algoritmada hedef resim üzerinde her pixelin en yakın segmente olan diklik şartının sağlanıp sağlanmamasına göre cross dissolving uygulanacaktır.Bir noktanın en yakın segmente olan diklik şartının bulunması için analitik geometriden yararlanılmıştır.Aşağıda bu görsel olarak belirtilmiştir.

Yanda ki üçgende diklik şartının formülleri altında belirtilmiştir buradan elde edilecek w açısı eğer dar açıysa o zaman biz bu noktanın segmente dik olduğunu söyleyebiliriz.

Bir sonraki yazımda morflemeye devam edeceğim.Şimdilik esen kalın….

Mehmet Salih Deveci

Bilgisayar Mühendisi

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s